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/CustomHashtable.java
HashEnumerator(boolean isKey) {
		key = isKey;
		start = firstSlot;
	}
	
	public boolean hasMoreElements() {
		if (entry != null) return true;
		while (start <= lastSlot)
			if (elementData[start++] != null) {
				entry = elementData[start-1];
				return true;
			}
		return false;
	}
	
	public Object nextElement() {
		if (hasMoreElements()) {
			Object result = key ? entry.key : entry.value;
			entry = entry.next;
			return result;
		} else throw new NoSuchElementException();
	}
}
	transient int elementCount;
	transient HashMapEntry[] elementData;
	private float loadFactor;
	private int threshold;
	transient int firstSlot = 0;
	transient int lastSlot = -1;
	transient private IElementComparer comparer;