Bug 153993 [Viewers] Common Baseclass for Tree/TableEditorImpl
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
int oldCnt = -1;
		if (widget == tree) {
			oldCnt = getItemCount(tree);
		}
		Item[] items = getChildren(widget);
		
		CustomHashtable expanded = newHashtable(CustomHashtable.DEFAULT_CAPACITY); 
																					
																					
																					
																					
		for (int i = 0; i < items.length; ++i) {
			if (getExpanded(items[i])) {
				Object element = items[i].getData();
				if (element != null) {
					expanded.put(element, element);
				}
			}
		}
		int min = Math.min(elementChildren.length, items.length);
		
		
		int numItemsToDispose = items.length - min;
		if (numItemsToDispose > 0) {
			CustomHashtable children = newHashtable(elementChildren.length * 2);
			for (int i = 0; i < elementChildren.length; i++) {
				Object elementChild = elementChildren[i];
				children.put(elementChild, elementChild);
			}