static O[] flattenArray2(O... a) { new L l; if (a != null) for (O x : a) if (x instanceof O[]) l.addAll(asList((O[]) x)); else if (x instanceof Collection) l.addAll((Collection) x); else l.add(x); ret asObjectArray(l); }