Bug 139986 [CommonNavigator] Convert catch(Error/Throwable) to SafeRunner
In several places the CN framework uses catch(Error/Throwable) to ensure that code does not bring the framework down. Change these to use SafeRunner.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/SafeDelegateTreeContentProvider.java
}
		Object[] children = contentProvider.getChildren(aParentElement);
		return children;
	}
	public Object[] getElements(Object anInputElement) {
		Object[] elements = contentProvider.getElements(anInputElement);
		return elements;
	}
	public Object getParent(Object anElement) {
		return contentProvider.getParent(anElement);
	}
	public boolean hasChildren(Object anElement) {
		return contentProvider.hasChildren(anElement);
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return contentProvider.hashCode();
	}
	public void inputChanged(final Viewer aViewer, final Object anOldInput, final Object aNewInput) {
		viewer = (StructuredViewer) aViewer;
		
		SafeRunner.run(new ISafeRunnable() {
			public void handleException(Throwable exception) { 
				String msg = exception.getMessage() != null ? exception.getMessage() : exception.toString() ;
				NavigatorPlugin.logError(0, msg, exception);