class SingleTakeUntilPublisher extends CompletionSingle<T> {

    @Override
    public void subscribe(Flow.Subscriber<? super T> subscriber) {
        Objects.requireNonNull(subscriber, "subscriber is null");

        MultiTakeUntilPublisher.TakeUntilMainSubscriber<T> parent =
                new MultiTakeUntilPublisher.TakeUntilMainSubscriber<>(subscriber);
        subscriber.onSubscribe(parent);

        other.subscribe(parent.other());
        source.subscribe(parent);
    }

      SingleTakeUntilPublisher(Single<T> source, Flow.Publisher<U> other);

}