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
associate(element, (Item) widget);
			}
		}
		if (doStruct) {
			internalRefreshStruct(widget, element, updateLabels);
		} else {
			Item[] children = getChildren(widget);
			if (children != null) {
				for (int i = 0; i < children.length; i++) {
					Widget item = children[i];
					Object data = item.getData();
					if (data != null)
						internalRefresh(item, data, doStruct, updateLabels);
				}
			}
		}
	}
	/**
	 * Update the structure and recurse. Items are updated in updateChildren,
	 * as needed.
	 * @param widget
	 * @param element
	 * @param updateLabels
	 */
	private void internalRefreshStruct(
		Widget widget,
		Object element,
		boolean updateLabels) {
		updateChildren(widget, element, null, updateLabels);
		Item[] children = getChildren(widget);