public override void Subscribe(IFlowableSubscriber <T> subscriber)
        {
            var dp = new DirectProcessor <object>();

            IPublisher <U> p;

            try
            {
                p = handler(dp);
            }
            catch (Exception ex)
            {
                subscriber.OnSubscribe(EmptySubscription <T> .Instance);
                subscriber.OnError(ex);
                return;
            }

            var parent = new RepeatWhenSubscriber(subscriber, dp, source);

            subscriber.OnSubscribe(parent);
            p.Subscribe(parent.handler);
            parent.Subscribe();
        }
 internal HandlerSubscriber(RepeatWhenSubscriber parent)
 {
     this.parent = parent;
 }