class OnSubscribeDefer implements OnSubscribe<T> {

    @Override
    public void call(Subscriber<? super T> s) {
        Observable<? extends T> o;
        try {
            o = observableFactory.call();
        } catch (Throwable t) {
            s.onError(t);
            return;
        }
        o.unsafeSubscribe(s);
    }

    public  OnSubscribeDefer(Func0<? extends Observable<? extends T>> observableFactory);

}