@Override
 public String[] getSQL() throws AmbitException {
   return new String[] {
     createUser.getSQL()[0],
     createRole.getSQL()[0],
     createRole.getSQL()[1],
     String.format(
         "insert into `%s`.user_registration (user_name,created,code,status) values (?,now(),?,'commenced')",
         getDatabaseName())
   };
 }
 @Override
 public List<QueryParam> getParameters(int index) throws AmbitException {
   switch (index) {
     case 0:
       return createUser.getParameters(0);
     case 1:
       return createRole.getParameters(0);
     case 2:
       return createRole.getParameters(1);
     default:
       {
         List<QueryParam> params1 = new ArrayList<QueryParam>();
         params1.add(new QueryParam<String>(String.class, getGroup().getUserName()));
         params1.add(new QueryParam<String>(String.class, getObject().getConfirmationCode()));
         return params1;
       }
   }
 }
 @Override
 public String getDatabaseName() {
   return createUser.getDatabaseName();
 }
 @Override
 public void setDatabaseName(String name) {
   createUser.setDatabaseName(name);
   createRole.setDatabaseName(name);
 }