code: public FeatureList selectOverlapping(String seqname, Location location, boolean useBothStrands)
  			throws Exception {
  		FeatureList list = new FeatureList();
  
  		for (FeatureI feature : this) {
  			boolean overlaps = false;
  			if (feature.seqname().equals(seqname)) {
  				if (location.isSameStrand(feature.location())) {
  					overlaps = feature.location().overlaps(location);
  				} else if (useBothStrands) {
  					overlaps = feature.location().overlaps(location.opposite());
  				}
  			}
  			if (overlaps) {
  				list.add(feature);
  			}
  		}
  		return list;
  	}
docs: Create a list of all features that overlap the specified location on the specified
  sequence.
  
  @param seqname The sequence name. Only features with this sequence name will be checked for overlap.
  @param location The location to check.
  @param useBothStrands If true, locations are mapped to their positive strand image
  before being checked for overlap. If false, only features whose locations are
  on the same strand as the specified location will be considered for inclusion.
  @return The new list of features that overlap the location.