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.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java
*/
public Control getControl() {
	if (treeViewer == null)
		return null;
	return treeViewer.getControl();
}
/* (non-Javadoc)
 * Method declared on ISelectionProvider.
 */
public ISelection getSelection() {
	if (treeViewer == null)
		return StructuredSelection.EMPTY;
	return treeViewer.getSelection();
}
/**
 * Returns this page's tree viewer.
 *
 * @return this page's tree viewer, or <code>null</code> if 
 *   <code>createControl</code> has not been called yet
 */
protected TreeViewer getTreeViewer() {
	return treeViewer;
}
/**
 * The <code>ContentOutlinePage</code> implementation of this 
 * <code>IPageBookViewPage</code> method registers itself as a selection 
 * provider with the site.
 */
public void init(IPageSite pageSite) {
	super.init(pageSite);