I am having difficulty with using the FSIterator returned by the
AnnotationIndex.subiterator(AnnotationFS) method.
The following is a code fragment:
AnnotationIndex annotationIndex = jCas.getAnnotationIndex(tokenType);
FSIterator tokenIterator = annotationIndex.subiterator(sentenceAnnotation);
annotationIterator.moveTo(tokenAnnotation);
Here is the relevant portion of the stack trace:
java.lang.ClassCastException: edu.colorado.cslr.dessert.types.Token
at java.util.Collections.indexedBinarySearch(Unknown Source)
at java.util.Collections.binarySearch(Unknown Source)
at org.apache.uima.cas.impl.Subiterator.moveTo(Subiterator.java:224)
If I change the second line to the following, then I do not have any
problems with an exception being thrown.
FSIterator tokenIterator = annotationIndex.iterator();
Is this a bug or some misunderstanding on my part of how subiterator
should work?
Thanks,
Philip