While trying to address the issue that resulted in re-opening https://issues.apache.org/jira/browse/UIMA-1840
I've discovered several corner cases where the impl may not be doing the right thing. Here's one: ResultSpec has typeXXX:featYYY type system has subtype of typeXXX, call it typeXXXsub In this case, it seems to me that containsFeature(typeXXXsub:featYYY) should return true, but I think it will return false in our current impl. ======== Another case: ResultSpec has typeXXX, allFeatures In this case, it seem also that containsFeature(typeXXXsub:featYYY) could return true, but I can also see an argument where it would not. Argument for returning true: the designation of allFeatures for typeXXX is thought to mean all features for this type, and all features for any subtypes, including those features introduced only in the subtypes. Argument for returning false: the designation of allFeatures for typeXXX is thought to mean all features just of this type. If subtypes introduce additional features, those are not covered by this specification. This may be a nit, which no one is (currently) using, but I'd like to have a clear definition for it and make the impl conform. Any thoughts? -Marshall
