protected Item compositeItem() {
        int position = tokens.getPosition();
        Item item = null;

        try {
            tokens.skipMultiple(PLUS);
            if (!tokens.skip(LBRACE)) {
                return null;
            }

            item = handleComposite(false);

            tokens.skip(RBRACE);
            return item;
        } finally {
            if (item == null) {
                tokens.setPosition(position);
            }
        }
    }
Base class for parsers of the query languages which can be used
for structured queries (types ANY, ALL and ADVANCED).

@author Steinar Knutsen
@author bratseth
container-search/src/main/java/com/yahoo/prelude/query/parser/StructuredParser.java