static L listMinusSet(Iterable l, Collection stuff) { if (l == null) null; if (empty(stuff)) ret asList(l); Set set = asSet(stuff); new L l2; for (A a : l) if (!set.contains(a)) l2.add(a); ret l2; } static L listMinusSet(Iterable l, Collection stuff, Collection stuff2) { ret listMinusSet(listMinusSet(l, stuff), stuff2); }