protected <T> Future<T> invokeSubmit(ExecutorService executor, Callable<T> task) {
    return executor.submit(wrapTask(task));
  }
protected < T > Future < T > invokeSubmit ( ExecutorService executor , Callable < T > task ) { return executor . submit ( wrapTask ( task ) ) ; }
Override this to customize how the waiting task is started in the background.

@param <T> the type of the task
@param executor the executor service to submit the task on
@param task the task to be submitted
@return the future of the task