class MultiDefer implements Multi<T> {

    @Override
    public void subscribe(Flow.Subscriber<? super T> subscriber) {
        Flow.Publisher<? extends T> publisher;

        try {
            publisher = Objects.requireNonNull(supplier.get(),
                    "The supplier returned a null Flow.Publisher");
        } catch (Throwable ex) {
            subscriber.onSubscribe(EmptySubscription.INSTANCE);
            subscriber.onError(ex);
            return;
        }

        publisher.subscribe(subscriber);
    }

      MultiDefer(Supplier<? extends Flow.Publisher<? extends T>> supplier);

}