private boolean hasOverlappingTokens(PhraseItem phrase) {
        boolean has = false;
        for (Iterator<Item> i = phrase.getItemIterator(); i.hasNext(); ) {
            Item segment = i.next();
            if (segment instanceof PhraseSegmentItem) has = hasOverlappingTokens((PhraseSegmentItem) segment);
            if (has) return true;
        }
        return has;
    }
Search to do necessary transforms if the query is in segmented in a CJK language.

@author Steinar Knutsen
container-search/src/main/java/com/yahoo/prelude/querytransform/CJKSearcher.java