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/StructuredViewer.java
*/
public void refresh(final Object element) {
	preservingSelection(new Runnable() {
		public void run() {
			internalRefresh(element);
		}
	});
}
/**
 * Refreshes this viewer starting with the given element.
 * Labels are updated as described in <code>refresh(boolean updateLabels)</code>.
 * <p>
 * Unlike the <code>update</code> methods, this handles structural changes
 * to the given element (e.g. addition or removal of children).
 * If only the given element needs updating, it is more efficient to use
 * the <code>update</code> methods.
 * </p>
 * 
 * @param element the element
 * @param updateLabels <code>true</code> to update labels for existing elements,
 * <code>false</code> to only update labels as needed, assuming that labels
 * for existing elements are unchanged.
 * 
 * @since 2.0
 */
public void refresh(final Object element, final boolean updateLabels) {
	preservingSelection(new Runnable() {
		public void run() {
			internalRefresh(element, updateLabels);
		}