List<Sentence> sents = new ArrayList<Sentence>(JCasUtil.selectCovering(jCas, Sentence.class, entityOrEventMention.getBegin(), entityOrEventMention.getEnd()));
if(sents.size() > 0){
Sentence sentence = sents.get(0);
List<AssertionCuePhraseAnnotation> cues = JCasUtil.selectCovered(AssertionCuePhraseAnnotation.class, sentence);
int closest = Integer.MAX_VALUE;
AssertionCuePhraseAnnotation closestCue = null;
for(AssertionCuePhraseAnnotation cue : cues){
List<BaseToken> tokens = JCasUtil.selectBetween(BaseToken.class, cue, entityOrEventMention);
if(tokens.size() < closest){
closestCue = cue;
closest = tokens.size();
}
// instance.addAll(cuePhraseInWindowExtractor.extractBetween(jCas, cue, entityOrEventMention));
}
if(closestCue != null && closest < 21){
instance.add(new Feature("ClosestCue_Word", closestCue.getCoveredText()));
// instance.add(new Feature("ClosestCue_Phrase", closestCue.getCuePhrase()));
instance.add(new Feature("ClosestCue_PhraseFamily", closestCue.getCuePhraseAssertionFamily()));
instance.add(new Feature("ClosestCue_PhraseCategory", closestCue.getCuePhraseCategory()));
// add hack-ey domain adaptation to these hacked-in features
if (!fileToDomain.isEmpty() && ffDomainAdaptor!=null) {
instance.addAll(ffDomainAdaptor.apply(new Feature("ClosestCue_Word", closestCue.getCoveredText())));
instance.addAll(ffDomainAdaptor.apply(new Feature("ClosestCue_PhraseFamily", closestCue.getCuePhraseAssertionFamily())));
instance.addAll(ffDomainAdaptor.apply(new Feature("ClosestCue_PhraseCategory", closestCue.getCuePhraseCategory())));
}
}
}
// if (cuePhraseFeatures != null && !cuePhraseFeatures.isEmpty())