class Await extends EventStreamBase<Try<T>> implements AwaitingEventStream<Try<T>> {

    public static <T> AwaitingEventStream<Try<T>> awaitCompletionStage(
            EventStream<CompletionStage<T>> source,
            Executor clientThreadExecutor) {
        return new Await<>(
                source,
                (future, handler) -> addCompletionHandler(future, handler, clientThreadExecutor));
    }

    private  Await(
            EventStream<F> source,
            BiConsumer<F, TriConsumer<T, Throwable, Boolean>> addCompletionHandler);

}