static L withoutNulls(Iterable l) { if (l cast L) if (!containsNulls(l)) ret l; new L l2; for (A a : l) if (a != null) l2.add(a); ret l2; } static Map withoutNulls(Map map) { Map map2 = similarEmptyMap(map); for (A a : keys(map)) if (a != null) { B b = map.get(a); if (b != null) map2.put(a, b); } ret map2; } static L withoutNulls(A[] l) { new L l2; if (l != null) for (A a : l) if (a != null) l2.add(a); ret l2; }