docs: public static Connection getConnection(final ConnectionProperties poolSpec)
              throws FactoryException {
  
          Validate.notNull(poolSpec, "The validated object 'poolSpec' is null");
          Validate.notBlank(poolSpec.getDriver(),
                  "The validated character sequence 'poolSpec.getDriver()' is null or empty");
          Validate.notBlank(poolSpec.getUrl(), "The validated character sequence 'poolSpec.getUrl()' is null or empty");
  
          // no need for defensive copies of Strings
  
          try {
              return DataSourceFactory.getDataSource(poolSpec).getConnection();
          } catch (SQLException e) {
              // a connection is identified by the URL, the username, and the password
              final String key = String.format("%s:%s", poolSpec.getUrl(), poolSpec.getUsername());
              final String error = "Error retrieving JDBC connection from pool: " + key;
              LOG.warn(error);
              throw new FactoryException(error, e);
          }
      }