class QueryStatement implements IPreparedQuery {

    public PreparedStatement compile(final Connection connection) throws SQLException {
        PreparedStatement stmt = connection.prepareStatement(this.bodyWriter.toString());

        int index = 1;

        for (SQLQueryParameterSetter setter : this.parameterSetters) {
            index = setter.setParameters(stmt, index);
        }

        return stmt;
    }

    public  QueryStatement();

}