private Item phrase(String indexName) {
        int position = tokens.getPosition();
        Item item = null;

        try {
            item = phraseBody(indexName);
            return item;
        } finally {
            if (item == null) {
                tokens.setPosition(position);
            }
        }
    }
A phrase or word, either marked by quotes or by non-spaces between
words or by a combination.

@param indexName the index name which preceeded this phrase, or null if none
@return a word if there's only one word, a phrase if there is
        several quoted or non-space-separated words, or null otherwise
container-search/src/main/java/com/yahoo/prelude/query/parser/StructuredParser.java