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

        try {
            tokens.skipMultiple(PLUS);
            if ( ! tokens.skipMultiple(MINUS)) return null;
            if (tokens.currentIsNoIgnore(SPACE)) return null;

            item = indexableItem("").getFirst();

            if (item == null) {
                item = compositeItem();

                if (item != null) {
                    if (item instanceof OrItem) { // Turn into And
                        AndItem and = new AndItem();

                        for (Iterator<Item> i = ((OrItem) item).getItemIterator(); i.hasNext();) {
                            and.addItem(i.next());
                        }
                        item = and;
                    }
                }
            }
            if (item != null)
                item.setProtected(true);

            return item;
        } finally {
            if (item == null)
                tokens.setPosition(position);
        }
    }
Parser for queries of type any.

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