code: public Location intersection(Location other) {
  		if (isSameStrand(other)) {
  			return intersect(mStart, mEnd, other.mStart, other.mEnd);
  		} else {
  			throw new IllegalArgumentException("Locations are on opposite strands.");
  		}
  	}
docs: Return the intersection, or null if no overlap.
  
  @param other
  The location to intersect.
  @return The maximal location that is contained by both. Returns null if
  no overlap!
  @throws IllegalArgumentException
  Locations are on opposite strands.