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/NavigatorContentService.java
possibleChildDescriptors.add(sourceDescriptor);
		}
		for (Iterator iter = possibleChildDescriptors.iterator(); iter.hasNext();) {
			NavigatorContentDescriptor ncd = (NavigatorContentDescriptor) iter.next();
			findOverridingLabelExtensions(anElement, ncd, contributors);
		}
		
		return contributors;
	}
	private void findOverridingLabelExtensions(Object anElement,
			INavigatorContentDescriptor descriptor, LinkedHashSet contributors) {
		ListIterator iter = ((NavigatorContentDescriptor) descriptor).getOverridingExtensionsListIterator(false);
		while (iter.hasPrevious()) {
			INavigatorContentDescriptor child = (INavigatorContentDescriptor) iter.previous();
			if (assistant.isVisibleAndActive(child) && child.isPossibleChild(anElement)) {
				findOverridingLabelExtensions(anElement, child, contributors);
			}
		}
		contributors.add(getExtension(descriptor));
	}
	
	/**
	 * 
	 * The label provider that is are enabled for the given element.
	 * A label provider is 'enabled' if its corresponding content provider
	 * returned the element.
	 * 
	 * @param anElement
	 *            An element from the tree (any element contributed to the
	 *            tree).