docs: 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();
              }
          });
      }