code: public Observable<R> observe() {
          // us a ReplaySubject to buffer the eagerly subscribed-to Observable
          ReplaySubject<R> subject = ReplaySubject.create();
          // eagerly kick off subscription
          final Subscription sourceSubscription = toObservable().subscribe(subject);
          // return the subject that can be subscribed to later while the execution has already started
          return subject.doOnUnsubscribe(new Action0() {
              @Override
              public void call() {
                  sourceSubscription.unsubscribe();
              }
          });
      }
docs: Used for asynchronous execution of command with a callback by subscribing to the {@link Observable}.
  <p>
  This eagerly starts execution of the command the same as {@link HystrixCommand#queue()} and {@link HystrixCommand#execute()}.
  <p>
  A lazy {@link Observable} can be obtained from {@link #toObservable()}.
  <p>
  See https://github.com/Netflix/RxJava/wiki for more information.
  
  @return {@code Observable<R>} that executes and calls back with the result of command execution or a fallback if the command fails for any reason.
  @throws HystrixRuntimeException
  if a fallback does not exist
  <p>
  <ul>
  <li>via {@code Observer#onError} if a failure occurs</li>
  <li>or immediately if the command can not be queued (such as short-circuited, thread-pool/semaphore rejected)</li>
  </ul>
  @throws HystrixBadRequestException
  via {@code Observer#onError} if invalid arguments or state were used representing a user failure, not a system failure
  @throws IllegalStateException
  if invoked more than once