WorkflowInstanceExecutor { public void execute(Runnable runnable) { executor.execute(runnable); } WorkflowInstanceExecutor(int maxQueueSize, int threadCount, int notifyThreshold, int awaitTerminationSeconds,
      int keepAliveSeconds,
      ThreadFactory threadFactory); int getThreadCount(); void waitUntilQueueSizeLowerThanThreshold(DateTime waitUntil); void wakeUpDispatcherIfNeeded(); void execute(Runnable runnable); int getQueueRemainingCapacity(); void shutdown();  }
@Test public void testExecute() { WorkflowInstanceExecutor t = new WorkflowInstanceExecutor(3, 2, 1, 3, 4, new CustomizableThreadFactory("test")); t.execute(runnable); verify(runnable, timeout(1000)).run(); }