code: @Override
    public RewrittenStatement rewrite(final String sql, final Binding params,
        final StatementContext ctx)
    {
      final ParsedStatement stmt = new ParsedStatement();
      try {
        final String parsedSql = parseString(sql, stmt, params);
        return new MyRewrittenStatement(parsedSql, stmt, ctx);
      } catch (IllegalArgumentException e) {
        throw new UnableToCreateStatementException(
            "Exception parsing for named parameter replacement", e, ctx);
      }
  
    }
docs: Munge up the SQL as desired. Responsible for figuring out ow to bind any
  arguments in to the resultant prepared statement.
  
  @param sql The SQL to rewrite
  @param params contains the arguments which have been bound to this statement.
  @param ctx The statement context for the statement being executed
  @return somethign which can provde the actual SQL to prepare a statement from
  and which can bind the correct arguments to that prepared statement