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

Reply via email to