@Test public void testRunCallsFinished() { underTest.run(); verify(executorServiceWithRegistry).finished(any(), anyLong()); }
@Override public final void run() { long itemId = getContext().getItemId(); try { execute(); } finally { executorServiceWithRegistry.finished(this, itemId); } }
EvaluatorExecutor implements Runnable { @Override public final void run() { long itemId = getContext().getItemId(); try { execute(); } finally { executorServiceWithRegistry.finished(this, itemId); } } }
EvaluatorExecutor implements Runnable { @Override public final void run() { long itemId = getContext().getItemId(); try { execute(); } finally { executorServiceWithRegistry.finished(this, itemId); } }  }
EvaluatorExecutor implements Runnable { @Override public final void run() { long itemId = getContext().getItemId(); try { execute(); } finally { executorServiceWithRegistry.finished(this, itemId); } }  @Nonnull abstract EvaluatorContext getContext(); abstract String getName(); abstract void setContext(EvaluatorContext context); @Override final void run(); }
EvaluatorExecutor implements Runnable { @Override public final void run() { long itemId = getContext().getItemId(); try { execute(); } finally { executorServiceWithRegistry.finished(this, itemId); } }  @Nonnull abstract EvaluatorContext getContext(); abstract String getName(); abstract void setContext(EvaluatorContext context); @Override final void run();  }