in uimafit-core/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java [246:282]
public JCas next() {
jCas.reset();
boolean error = true;
boolean destroyed = false;
try {
collectionReader.getNext(jCas.getCas());
for (AnalysisEngine engine : analysisEngines) {
engine.process(jCas);
}
// Only call hasNext() if auto complete or destroy is enabled.
if ((selfComplete || selfDestroy) && !hasNext()) {
if (selfComplete) {
collectionProcessComplete();
}
if (selfDestroy) {
destroy();
destroyed = true;
}
}
error = false;
} catch (CollectionException e) {
throw new IllegalStateException(e);
} catch (IOException e) {
throw new IllegalStateException(e);
} catch (AnalysisEngineProcessException e) {
throw new IllegalStateException(e);
} finally {
if (error && selfDestroy && !destroyed) {
destroy();
}
}
return jCas;
}