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
public int size() {
		return elementCount;
	}
	
	/**
	 * Answers the string representation of this Hashtable.
	 *
	 * @return		the string representation of this Hashtable
	 */
	public String toString() {
		if (size() == 0) return "{}"; 
	
		StringBuffer buffer = new StringBuffer();
		buffer.append('{');
		for (int i=elementData.length; --i >= 0;) {
			HashMapEntry entry = elementData[i];
			while (entry != null) {
				buffer.append(entry.key);
				buffer.append('=');
				buffer.append(entry.value);
				buffer.append(", "); 
				entry = entry.next;
			}
		}
		
		if (elementCount > 0) buffer.setLength(buffer.length() - 2);
		buffer.append('}');
		return buffer.toString();
	}
}