class MultiTakeWhilePublisher implements Multi<T> {

    @Override
    public void subscribe(Flow.Subscriber<? super T> subscriber) {
        source.subscribe(new TakeWhileSubscriber<>(subscriber, predicate));
    }

      MultiTakeWhilePublisher(Multi<T> source, Predicate<? super T> predicate);

}