static L collectWhileNotNull(IF0 f) { new L l; if (f != null) while (true) { A a = f!; if (a == null) break; l.add(a); } ret l; }