static ItIt ai_findLeadingPhrases(S s, Collection phrases) { final Set set = asCISet(phrases); L tok = javaTokNPunctuation(s); ret notNulls_iterator( mapIterator(allTokSplits_nOnLeft_iterator(tok), func(Pair p) -> PairS { set.contains(trimJoin(simpleSpaces(p.a))) ? pair(join(p.a), join(p.b)) : null })); }