docs: public static Object delayedValue(CompletionStage<Void> stage, Object syncValue) {
        if (stage != null) {
           CompletableFuture<?> future = stage.toCompletableFuture();
           if (!future.isDone()) {
              return asyncValue(stage.thenApply(v -> syncValue));
           }
           if (future.isCompletedExceptionally()) {
              return asyncValue(stage);
           }
        }
        return syncValue;
     }