code: public static <T> VertxCompletableFuture<T> supplyBlockingAsyncOn(Vertx vertx, WorkerExecutor worker, Supplier<T> supplier) {
      return supplyBlockingAsyncOn(Objects.requireNonNull(vertx).getOrCreateContext(), worker, supplier);
    }
docs: Returns a new CompletableFuture that is asynchronously completed by a task running in the worker thread pool of
  Vert.x
  <p>
  This method is different from {@link CompletableFuture#supplyAsync(Supplier)} as it does not use a fork join
  executor, but the worker thread pool.
  
  @param vertx    the Vert.x instance
  @param worker   the WorkerExecution on which the supplier is to be executed
  @param supplier a function returning the value to be used to complete the returned CompletableFuture
  @param <T>      the function's return type
  @return the new CompletableFuture