code: public void callWithTimeout(String description, int timeout, Runnable task) {
          Future<?> callFuture = threadPool.submit(task);
          getWithTimeout(callFuture, timeout, description);
      }
docs: Calls task but ensures it ends.
  @param description description of task.
  @param timeout timeout in milliseconds.
  @param task task to execute.