sclass PhraseCache { MultiMap byFirstWord = ciMultiMap(); F1 tokenizer = f javaTokNPunctuation; // doesn't check if phrase is there already void add(S phrase) { LS tok = callF(tokenizer, phrase); if (l(tok) == 1) ret; byFirstWord.put(second(tok), tok); } }