Bug 32254 [Viewers] AbstractTreeViewer uses HashSet to remember expansion state
I20030216 The custom hash table should be used instead. Otherwise expansion state may be lost due to a different equals implementation of the element and the IElementComparer.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
final Item[] tis = getChildren(widget);
		if (tis != null && tis.length > 0) {
			Object data = tis[0].getData();
			if (data != null)
				return; 
		}
		BusyIndicator.showWhile(widget.getDisplay(), new Runnable() {
			public void run() {
				
				
				if (tis != null) {
					for (int i = 0; i < tis.length; i++) {
						tis[i].dispose();
					}
				}
				Object d = widget.getData();
				if (d != null) {
					Object parentElement = d;
					Object[] children = getSortedChildren(parentElement);
					for (int i = 0; i < children.length; i++) {
						createTreeItem(widget, children[i], -1);
					}
				}
			}
		});
	}
	/**
	 * Creates a single item for the given parent and synchronizes it with the
	 * given element.
	 *