Display.getDefault().asyncExec(new Runnable() {
public void run() {
switch (notification.getEventType()) {
case Notification.REMOVE: {
FTEntry elementToRemove = (FTEntry) notification
.getOldValue();
Part partToRemove = partMap.get(elementToRemove);
if (partToRemove != null) {
partToRemove.dispose();
}
partMap.remove(elementToRemove);
ModelElementChangeListener addRemoveListener = entriesAddRemoveListeners
.get(elementToRemove);
ModelElementChangeListener numberingChangeListener = fTEntryModelElementNumberingChangeListeners
.get(elementToRemove);
if (addRemoveListener != null)
elementToRemove
.removeModelElementChangeListener(addRemoveListener);
if (numberingChangeListener != null)
elementToRemove
.removeModelElementChangeListener(numberingChangeListener);
break;
}