public CasIterator processAndOutputNewCASes(CAS aCAS) throws AnalysisEngineProcessException { // logging and instrumentation mTimer.startIt(); UIMAFramework.getLogger(CLASS_NAME).logrb(Level.FINE, CLASS_NAME.getName(), "process", LOG_RESOURCE_BUNDLE, "UIMA_analysis_engine_process_begin__FINE", getResourceName()); try { // invoke service getStub().callProcess(aCAS); // log end of event UIMAFramework.getLogger(CLASS_NAME).logrb(Level.FINE, CLASS_NAME.getName(), "process", LOG_RESOURCE_BUNDLE, "UIMA_analysis_engine_process_end__FINE", getResourceName()); // we don't support CasMultiplier services yet, so this always returns // an empty iterator return new EmptyCasIterator(); } catch (Exception e) { // log exception UIMAFramework.getLogger(CLASS_NAME).log(Level.SEVERE, "", e); // rethrow as AnalysisEngineProcessException throw new AnalysisEngineProcessException(e); } finally { mTimer.stopIt(); getMBean().reportServiceCallTime((int) mTimer.getDuration()); getMBean().incrementCASesProcessed(); } }