code: public Location prefix( Location other )
  	{
  
  		if( isSameStrand( other ) )
  		{
  			if( other.mStart >= mStart )
  			{
  				return new Location( mStart, (other.mStart < mEnd)? other.mStart: mEnd );
  			}
  			else
  			{
  				//other is out of bounds -- no prefix
  				throw new IndexOutOfBoundsException( "Specified location not within this location." );
  			}
  		}
  		else
  		{
  			throw new IllegalArgumentException( "Locations are on opposite strands." );
  		}
  	}
docs: The part of this location before the other location (not inclusive).
  
  @param other The other location.
  @return The part of this location before the other location.
  @throws IllegalArgumentException Locations are on opposite strands.
  @throws IndexOutOfBoundsException This location does not contain other location.