guava/src/com/google/common/util/concurrent/TrustedListenableFutureTask.java
static <V> TrustedListenableFutureTask<V> create(Runnable runnable, @Nullable V result) {
    return new TrustedListenableFutureTask<V>(Executors.callable(runnable, result));
  }
static <V> TrustedListenableFutureTask<V> create(Runnable runnable, @Nullable V result) {
    return new TrustedListenableFutureTask<V>(Executors.callable(runnable, result));
  }
Creates a {@code ListenableFutureTask} that will upon running, execute the given {@code
Runnable}, and arrange that {@code get} will return the given result on successful completion.

@param runnable the runnable task
@param result the result to return on successful completion. If you don't need a particular
result, consider using constructions of the form: {@code ListenableFuture<?> f =
ListenableFutureTask.create(runnable, null)}