code: protected PreparedStatement getPreparedStatement(String sql,
              int autoGeneratedKeys) throws SQLException {
          String replacedSQL = injectSchema(sql);
  
          // use the auto generated key parameter as part of the key
          return dbConnection.getPreparedStatement(replacedSQL, autoGeneratedKeys
                  + replacedSQL, autoGeneratedKeys);
      }
docs: Returns the {@link PreparedStatement} wrapping a sql statement in
  <tt>sql</tt>.
  
  <p>
  The prepared statement's <tt>autoGeneratedKeys</tt> feature is set via
  the additional parameter.
  </p>
  
  @param sql {@link String} the sql statement to use in the
  {@link PreparedStatement}, which can take parameter substitutions - '?'.
  @param autoGeneratedKeys <tt>int</tt> the auto generated keys feature
  in the {@link PreparedStatement}
  @return {@link PreparedStatement} the prepared statement, which could
  be either new or cached
  @throws SQLException Thrown if a database exception occurred or if the
  <tt>dbConnection</tt> is no longer valid and cannot be re-established