void (SFormsFastMapDirect map) { for (int i = 2; i >= 0; i--) { FastSparseSet<Integer>[] lstOwn = elements[i]; if (lstOwn.length == 0) { continue; } FastSparseSet<Integer>[] lstExtern = map.elements[i]; int[] arrnext = next[i]; int pointer = 0; do { FastSparseSet<Integer> first = lstOwn[pointer]; if (first != null) { FastSparseSet<Integer> second = null; if (pointer < lstExtern.length) { second = lstExtern[pointer]; } if (second != null) { first.intersection(second); } if (second == null || first.isEmpty()) { lstOwn[pointer] = null; size--; changeNext(arrnext, pointer, pointer, arrnext[pointer]); } } pointer = arrnext[pointer]; } while (pointer != 0); } }