return;
}
Widget[] childItems = internalFindItems(element);
if (childItems.length > 0) {
for (int j = 0; j < childItems.length; j++) {
Widget childItem = childItems[j];
if (childItem instanceof Item) {
disassociate((Item) childItem);
childItem.dispose();
}
}
} else {
// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=210747
Object parent = getParentElement(element);
if (parent != null
&& !equals(parent, getRoot())
&& !(parent instanceof TreePath && ((TreePath) parent)
.getSegmentCount() == 0)) {
Widget[] parentItems = internalFindItems(parent);
for (int j = 0; j < parentItems.length; j++) {
Widget parentItem = parentItems[j];
if (parentItem instanceof Item) {
updatePlus((Item) parentItem, parent);
}
}
}