private void removed(E input) { listeners.elementRemoved(input); IObservableList<E> observable = elementToObservable.remove(input); if (observable != null) { observable.removeListChangeListener(listChangeListener); for (E element : observable) { removed(element); } observable.dispose(); } }
@Override public synchronized void dispose() { super.dispose(); navigableEndsObservableList.removeChangeListener(this); navigableEndsObservableList.dispose(); }