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