public static <E extends Exception> CompletableFuture<Void> toCompletableFuture(ThrowableRunnable<E> provider) {
    try {
      provider.run();
      return completedFuture(null);
    }
    catch (Exception e) {
      return CompletableFuture.failedFuture(e);
    }
  }
public static <E extends Exception> CompletableFuture<Void> toCompletableFuture(ThrowableRunnable<E> provider)