class DeferredResult {

    public DeferredResult<Void> acceptEither(DeferredResult<? extends T> other,
            Consumer<? super T> action) {
        return wrap(this.completableFuture.acceptEither(other.toCompletionStage(), action));
    }

    public  DeferredResult();
    public  DeferredResult(CompletableFuture<T> completableFuture);

}