public TokenSequence getLemmata(JCas aJCas) { TokenSequence lemmata = new TokenSequence(); AnnotationIndex<Annotation> tokenIndex = aJCas.getAnnotationIndex(Token.type); FSIterator<Annotation> tokenIterator = tokenIndex.iterator(); while (tokenIterator.hasNext()) { Token token = (Token) tokenIterator.get(); Lemma lemma = token.getLemma(); if (lemma == null) throw new IllegalArgumentException("The input UIMA CAS is missing lemma annotations set to the tokens as the lemma feature."); String lemmaString = lemma.getValue(); if (isNotNum(lemmaString) && isNotPunctuation(lemmaString)) { lemmata.add(lemmaString); } tokenIterator.next(); } return lemmata; }