guava/src/com/google/common/util/concurrent/Futures.java
@Beta
  public static <O> ListenableFuture<O> submitAsync(AsyncCallable<O> callable, Executor executor) {
    TrustedListenableFutureTask<O> task = TrustedListenableFutureTask.create(callable);
    executor.execute(task);
    return task;
  }
@Beta
  public static <O> ListenableFuture<O> submitAsync(AsyncCallable<O> callable, Executor executor) {
    TrustedListenableFutureTask<O> task = TrustedListenableFutureTask.create(callable);
    executor.execute(task);
    return task;
  }
Executes {@code callable} on the specified {@code executor}, returning a {@code Future}.

@throws RejectedExecutionException if the task cannot be scheduled for execution
@since 23.0