static L filterConceptShadows(L l1, L l2) { new L out; int i1 = 0, i2 = 0; while (i1 < l(l1) && i2 < l(l2)) { ConceptShadow s1 = l1.get(i1), s2 = l2.get(i2); long id1 = s1.id(), id2 = s2.id(); if (id1 == id2) out.add(s1); else if (id1 < id2) ++i1; else ++i2; } ret out; }