code: static SplittedSql generateSQL(final SQLiteModelMethod method, MethodSpec.Builder methodBuilder, final boolean replaceProjectedColumns) {
  		JQLChecker jqlChecker = JQLChecker.getInstance();
  
  		final SplittedSql splittedSql = new SplittedSql();
  
  		String sql = convertJQL2SQL(method, false);
  
  		// parameters extracted from JQL converted in SQL
  		splittedSql.sqlBasic = jqlChecker.replaceVariableStatements(method, sql, new JQLReplaceVariableStatementListenerImpl() {
  
  			@Override
  			public String onWhere(String statement) {
  				splittedSql.sqlWhereStatement = statement;
  				return "";
  			}
  
  			@Override
  			public String onOrderBy(String statement) {
  				splittedSql.sqlOrderByStatement = statement;
  				return "";
  			}
  
  			@Override
  			public String onOffset(String statement) {
  				splittedSql.sqlOffsetStatement = statement;
  				return "";
  			}
  
  			@Override
  			public String onLimit(String statement) {
  				splittedSql.sqlLimitStatement = statement;
  				return "";
  			}
  
  			@Override
  			public String onHaving(String statement) {
  				splittedSql.sqlHavingStatement = statement;
  				return "";
  			}
  
  			@Override
  			public String onGroup(String statement) {
  				splittedSql.sqlGroupStatement = statement;
  				return "";
  			}
  
  			@Override
  			public String onProjectedColumns(String statement) {
  				if (replaceProjectedColumns)
  					return "%s";
  				else
  					return null;
  			}
  		});
  
  		return splittedSql;
  	}
docs: Generate SQL.
  
  @param method
  the method
  @param methodBuilder
  the method builder
  @param replaceProjectedColumns
  the replace projected columns
  @return the splitted sql