public static <V> FluentFuture<V> from(ListenableFuture<V> future) {
    if (future instanceof FluentFuture<?>) {
      return (FluentFuture<V>) future;
    }
    return new WrapingFluentFuture<>(future, MoreExecutors.directExecutor());
  }
Wraps listenable future with a fluent future.
@param <V> value type
@param future future
@return fluent instance
mongo/src/org/immutables/mongo/concurrent/FluentFutures.java