Description
uimaFIT has a call `selectPreceding` which returns the n annotations before the specified annotations in normal order.
This seems to be quite difficult to replicate using UIMAv3 SelectFS:
Annotation a = new Annotation(this.jCas, 0, 1); Annotation b = new Annotation(this.jCas, 2, 3); Annotation c = new Annotation(this.jCas, 4, 5); for (Annotation ann : Arrays.asList(a, b, c)) { ann.addToIndexes(); } // uimaFIT: Arrays.asList(a, b), selectPreceding(this.jCas, Annotation.class, c, 2)); // Produces reverse order assertEquals(Arrays.asList(a, b), jCas.select(Annotation.*class*).preceding(c).limit(2).asList()); // Produces: java.lang.IllegalArgumentException: Strict requires BoundsUse.coveredBy assertEquals(Arrays.asList(a, b), jCas.select(Annotation.class).at(c).shifted(-2).limit(2).asList());