Looks like Java 9 supports overriding the default executor in CompletableFuture. https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/CompletableFuture.html#defaultExecutor--
This could simplify the implementation of SameExecutorCompletionStage in the future but not until support for java8 is dropped.
Does this kill the need for this class entirely? It would be best to remove it before the release if so. I think it might be nice to have for Java 8 though.