code: public static <T> Observable<T> deferAndWatch(Func1<Subscriber,? extends Observable<? extends T>> observableFactory) {
          return Observable.create(new OnSubscribeDeferAndWatch<T>(observableFactory));
      }
docs: Defer a hot observable and clean its buffers if needed on early unsubscribe. It currently only works if you
  are deferring a {@link AsyncSubject}.
  
  @param observableFactory the factory of the hot observable.
  @return a deferred observable which handles cleanup of resources on early unsubscribe.