docs: public void query(String sql, List<Object> params, @ClosureParams(value=SimpleType.class, options="java.sql.ResultSet") Closure closure) throws SQLException {
          Connection connection = createConnection();
          PreparedStatement statement = null;
          ResultSet results = null;
          try {
              statement = getPreparedStatement(connection, sql, params);
              results = statement.executeQuery();
              closure.call(results);
          } catch (SQLException e) {
              LOG.warning("Failed to execute: " + sql + " because: " + e.getMessage());
              throw e;
          } finally {
              closeResources(connection, statement, results);
          }
      }