That's a bug.  The underlying implementation of the two
iterator types you mention is totally different, hence
you see this only in one of them.  Any chance you could
provide a self-contained test case that exhibits this?

--Thilo

Philip Ogren wrote:
> 
> 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