static L collectES(Iterable it) { new L out; for unnull (O o : it) if (o cast S) out.add(ext(o)); else if (o cast Ext) if (o! instanceof S) out.add(o); ret out; }