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
public TreePath[] getParents(Object element) {
		if (contentProvider instanceof ITreePathContentProvider) {
			ITreePathContentProvider tpcp = (ITreePathContentProvider) contentProvider;
			return tpcp.getParents(element);
		}
		ArrayList segments = new ArrayList();
		Object parent = element;
		do {
			parent = contentProvider.getParent(parent);
			if (parent != null && parent != viewer.getInput())
				segments.add(0, parent);
		} while (parent != null && parent != viewer.getInput());
		if (!segments.isEmpty()) {
						
			return new TreePath[] { new TreePath(segments.toArray()) };
		}
		return NO_PATHS;
	}
	/* (non-Javadoc)
	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProviderHasChildren#hasPipelinedChildren(java.lang.Object, boolean)
	 */
	public boolean hasPipelinedChildren(Object anInput, boolean currentHasChildren) {
		if (contentProvider instanceof IPipelinedTreeContentProvider2) {
			return ((IPipelinedTreeContentProvider2) contentProvider)
					.hasPipelinedChildren(anInput, currentHasChildren);
		}
		return currentHasChildren;
	}
}