/** Query all genomic regions that intersect 'marker' */ @Override public Markers query(Marker marker) { Markers markers = new Markers(); for (Marker m : this) { if (m.intersects(marker)) { markers.add(m); Markers subMarkers = m.query(marker); if (subMarkers != null) markers.add(subMarkers); } } return markers; }