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/StructuredViewer.java
if (enable) {
			elementMap = new CustomHashtable(comparer);
		} else {
			elementMap = null;
		}
	}
	/**
	 * Sets the comparator to use for comparing elements, or <code>null</code>
	 * to use the default <code>equals</code> and <code>hashCode</code>
	 * methods on the elements themselves.
	 * 
	 * @param comparator
	 *            the comparator to use for comparing elements or
	 *            <code>null</code>
	 */
	public void setComparer(IElementComparer comparer) {
		this.comparer = comparer;
		if (elementMap != null) {
			elementMap = new CustomHashtable(elementMap, comparer);
		}
	}
	/**
	 * Hook for testing.
	 */
	public Widget testFindItem(Object element) {
		return findItem(element);
	}
	/**
	 * Removes all elements from the map.
	 * <p>