Preferred option

This DeferredResult's design is strongly influenced by the JDK 8's Stream class and Scala's Future.

If the JDK 8 CompletableFuture were to implement this interface then it would be consistent with JDK 8 Stream.