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