code: public int distance( Location other )
  	{
  		if( isSameStrand( other ))
  		{
  			if( overlaps( other ))
  			{
  				return -1;
  			}
  			else
  			{
  				return ( mEnd <= other.mStart )? (other.mStart - mEnd) : (mStart - other.mEnd);
  			}
  		}
  		else
  		{
  			throw new IllegalArgumentException( "Locations are on opposite strands." );
  		}
  	}
docs: Return distance between this location and the other location.
  
  Distance is defined only if both locations are on same strand.
  
  @param other The location to compare.
  @return The integer distance. Returns -1 if they overlap; 0 if directly adjacent.
  @throws IllegalArgumentException Locations are on opposite strands.