@Override public void handleRemove(int index, Object element) { viewerUpdater.remove(element, index); }
@Override public void handleSetChange(SetChangeEvent event) { if (isViewerDisposed()) return; Set removals = event.diff.getRemovals(); Set additions = event.diff.getAdditions(); knownElements.addAll(additions); if (realizedElements != null) realizedElements.removeAll(removals); viewerUpdater.remove(removals.toArray()); viewerUpdater.add(additions.toArray()); if (realizedElements != null) realizedElements.addAll(additions); knownElements.removeAll(removals); } }