private QueryTree buildTree() {
        Inspector inspector = SlimeUtils.jsonToSlime(this.query.getSelect().getWhereString()).get();
        if (inspector.field("error_message").valid()) {
            throw new IllegalInputException("Illegal query: " + inspector.field("error_message").asString() +
                                            " at: '" + new String(inspector.field("offending_input").asData(), StandardCharsets.UTF_8) + "'");
        }

        try {
            Item root = walkJson(inspector);
            connectItems();
            return new QueryTree(root);
        }
        catch (IllegalArgumentException e) {
            throw new IllegalInputException("Illegal JSON query", e);
        }
    }
The Select query language.

This class will be parsing the Select parameters, and will be used when the query has the SELECT-type.

@author henrhoi
container-search/src/main/java/com/yahoo/search/query/SelectParser.java