code: public static <T> VertxCompletableFuture<T> from(Context context, CompletableFuture<T> future) {
      VertxCompletableFuture<T> res = new VertxCompletableFuture<>(Objects.requireNonNull(context));
      Objects.requireNonNull(future).whenComplete((result, error) -> {
        if (context == Vertx.currentContext()) {
          res.complete(result, error);
        } else {
          res.context.runOnContext(v -> res.complete(result, error));
        }
      });
      return res;
    }
docs: Creates a {@link VertxCompletableFuture} from the given {@link Context} and {@link CompletableFuture}.
  <p>
  The created {@link VertxCompletableFuture} is completed successfully or not when the given future
  completes successfully or not. The completion is called on the given {@link Context}, immediately if it is
  already executing on the right context, asynchronously if not.
  
  @param context the context
  @param future  the future
  @param <T>     the type of result
  @return the creation {@link VertxCompletableFuture}