svoid phraseCache_mark(PhraseCache cache, LS tok, BitSet mark_io) { if (cache == null) ret; for (int i = 1; i < l(tok); i += 2) { L phrases = cache.byFirstWord.get(tok.get(i)); new Best best; for (LS phrase : phrases) if (codeTokenSubListEqualsIC_skipFirst(tok, phrase, i)) best.put(phrase, l(phrase)); if (best.has()) { int j = i+l(best!)-3; for (int k = i; k <= j; k += 2) setBit(mark_io, k); i = j; } } }