result = doWork(in, work.getData());
} finally {
LOGGER.debug("END doWork (%s)", getClass().getName());
processingCounter.dec();
totalProcessedCounter.inc();
timerContext.stop();
}
synchronized (workResults) {
workResults.add(new WorkResult<TResult>(result, null));
workResults.notifyAll();
}