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