code: public <T> Future<T> submit(Runnable runnable, T result) {
          return this.executorService.submit(runnable, result);
      }
docs: Submits a Runnable task for execution and returns a Future representing
  that task. The Future's get method will return the given result upon
  successful completion.
  
  @param <T> JavaDoc requires this (just ignore it)
  @param runnable the task to submit
  @param result the result to return
  
  @return a Future representing pending completion of the task