code: public Location union( Location other )
  	{
  
  		if( !isSameStrand( other ))
  		{
  			throw new IllegalArgumentException( "Locations are on opposite strands." );
  		}
  		else
  		{
  			int start= (other.mStart < mStart)? other.mStart: mStart;
  			int end= (other.mEnd > mEnd)? other.mEnd: mEnd;
  
  			return new Location( start, end );
  		}
  
  	}
docs: Return the union.
  <br>
  
  @param other The location to join.
  @return The union is a range that starts at the lesser of the two starting indices and ends at the
  greater of the two ends.
  @throws IllegalArgumentException Locations are on opposite strands.