Bug 15844 [Exception Handling] SelectionChange events and NPE
Build 20020508 Due to new global actions there are now more objects listening to selection changes send out by a JFace viewer. We now had the case that one of the listener generated a NPE. As a result all listeners registered after that one didn't receive the selection change event. StructuredViewers should be more fault tolorant to exceptions when informing listeners.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
* Removes all items from the given control.
 *
 * @param control the control
 */
protected abstract void removeAll(Control control);
/**
 * Removes a listener for expand and collapse events in this viewer.
 * Has no affect if an identical listener is not registered.
 *
 * @param listener a tree viewer listener
 */
public void removeTreeListener(ITreeViewerListener listener) {
	treeListeners.remove(listener);
}
/*
 * Non-Javadoc.
 * Method defined on StructuredViewer.
 */
public void reveal(Object element) {
	Widget w = internalExpand(element, true);
	if (w instanceof Item)
		showItem((Item) w);
}
/**
 * Returns the rightmost visible descendent of the given item.
 * Returns the item itself if it has no children.
 *
 * @param item the item to compute the descendent of
 * @return the rightmost visible descendent or the item iself
 *  if it has no children