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/CheckboxTreeViewer.java
return result.toArray();
}
/* (non-Javadoc)
 * Method declared on StructuredViewer.
 */
protected void handleDoubleSelect(SelectionEvent event) {
	if (lastClickedItem != null) {
		TreeItem item = lastClickedItem;
		Object data = item.getData();
		if (data != null) {
			boolean state = item.getChecked();
			setChecked(data, !state);
			fireCheckStateChanged(new CheckStateChangedEvent(this, data, !state));
		}
		lastClickedItem = null;
	} else
		super.handleDoubleSelect(event);
}
/* (non-Javadoc)
 * Method declared on StructuredViewer.
 */
protected void handleSelect(SelectionEvent event) {
	lastClickedItem = null;
	if (event.detail == SWT.CHECK) {
		TreeItem item = (TreeItem) event.item;
		lastClickedItem = item;
		super.handleSelect(event);
		Object data = item.getData();
		if (data != null) {
			fireCheckStateChanged(new CheckStateChangedEvent(this, data, item.getChecked()));