docs: public GroovyRowResult firstRow(String sql, List<Object> params) throws SQLException {
          List<GroovyRowResult> rows = null;
          try {
              rows = rows(sql, params, 1, 1, null);
          }
          //should be SQLFeatureNotSupportedException instead once we move to Java 1.6
          catch (SQLException featureNotSupportedException) {
              rows = rows(sql, params);
          }
          if (rows.isEmpty()) return null;
          return rows.get(0);
      }