* Adds one feature to the IntervalStore that can manage nested features
* (creating the IntervalStore if necessary)
*/
- protected synchronized void addNestedFeature(SequenceFeature feature)
- {
- features.add(feature);
- }
+ abstract protected void addNestedFeature(SequenceFeature feature);
/**
* Adds the feature to the list of non-positional features (with lazy
&& listContains(contactFeatureStarts, feature);
}
- return features == null ? false : features.contains(feature);
+ return features == null ? false : containsFeature(feature);
}
+
+ abstract protected boolean containsFeature(SequenceFeature feature);
+
/**
* Deletes the given feature from the store, returning true if it was found
* (and deleted), else false. This method makes no assumption that the feature