static L filterByType(Iterable c, Class type) { new L l; if (c != null) for (O x : c) if (isInstanceX(type, x)) l.add((A) x); ret l; } static L filterByType(O[] c, Class type) { ret filterByType(asList(c), type); } static L filterByType(Class type, Iterable c) { ret filterByType(c, type); }