code: @CheckReturnValue
    public static Builder fromPool(Vertx vertx, Pool pool) {
      WorkerExecutor executor = vertx.createSharedWorkerExecutor("DbWorker-" + poolNameCounter.getAndAdd(1), pool.size);
      return new BuilderImpl(executor, () -> {
        try {
          executor.close();
        } catch (Exception e) {
          log.warn("Problem closing database worker executor", e);
        }
        if (pool.poolShutdown != null) {
          pool.poolShutdown.close();
        }
      }, () -> {
        try {
          return pool.dataSource.getConnection();
        } catch (Exception e) {
          throw new DatabaseException("Unable to obtain a connection from DriverManager", e);
        }
      }, new OptionsDefault(pool.flavor));
    }
docs: Use an externally configured DataSource, Flavor, and optionally a shutdown hook.
  The shutdown hook may be null if you don't want calls to Builder.close() to attempt
  any shutdown. The DataSource and Flavor are mandatory.