code: public static <T> Observable<T> from(final ListenableFuture<T> future, final Executor executor) {
          return Observable.create(new OnSubscribe<T>() {
              @Override
              public void call(final Subscriber<? super T> subscriber) {
                  final SingleDelayedProducer<T> sdp = new SingleDelayedProducer<T>(subscriber);
                  subscriber.setProducer(sdp);
                  
                  future.addListener(new Runnable() {
                      @Override
                      public void run() {
                          try {
                              T t = future.get();
                              sdp.setValue(t);
                          } catch (Exception e) {
                              subscriber.onError(e);
                          }
                      }
                  }, executor);
                  
              }
          });
      }
docs: Converts from {@link ListenableFuture} to {@link rx.Observable}.
  
  @param future  the {@link ListenableFuture} to register a listener on.
  @param executor  the {@link Executor} where the callback will be executed.  The will be where the {@link Observer#onNext(Object)} call from.
  @return an {@link Observable} that emits the one value when the future completes.