code: public String createPreparedStatementString(ControlBeanContext context, Connection connection,
                                                  Method method, Object[] arguments) {
  
          final boolean callableStatement = setCallableStatement(arguments);
          StringBuilder sqlString = new StringBuilder(getPreparedStatementText(context, method, arguments));
  
          if (callableStatement) {
              JdbcControl.SQLParameter[] params = (JdbcControl.SQLParameter[]) arguments[0];
              if (params == null) {
                  return sqlString.toString();
              }
  
              sqlString.append(" Params: {");
              for (int i = 0; i < params.length; i++) {
                  if (i > 0) { sqlString.append(params[i].value.toString()); }
              }
              sqlString.append("}");
  
          } else if (_batchUpdate) {
              sqlString.append(" Params: batch update.");
  
          } else {
              sqlString.append(" Params: {");
              boolean first = true;
              for (SqlFragment sf : _children) {
                  if (sf.hasParamValue()) {
                      Object values[] = sf.getParameterValues(context, method, arguments);
                      for (Object value : values) {
  
                          if (!first) sqlString.append(", "); else first = false;
                          sqlString.append(value);
                      }
                  }
              }
              sqlString.append("}");
          }
          return sqlString.toString();
      }
docs: Generates the PreparedStatement the SQL statement.
  
  @param context    ControlBeanContext instance.
  @param connection Connection to database.
  @param method     Method the SQL is associated with.
  @param arguments  Method parameters.
  @return The PreparedStatement generated by this statement.