static L flattenCollections(Iterable a) { new L l; for (O x : a) if (x instanceof Cl) l.addAll(flattenCollections((Cl) x)); else l.add(x); ret l; }