code: public static <T> ListenableFuture<T> createListenableFuture(ValueSourceFuture<T> valueSource) {
          if (valueSource instanceof ListenableFutureBackedValueSourceFuture) {
              return ((ListenableFutureBackedValueSourceFuture<T>) valueSource).getWrappedFuture();
          } else {
              return new ValueSourceFutureBackedListenableFuture<>(valueSource);
          }
      }
docs: *************************************** Converting to ListenableFuture ******************************************