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/NavigatorContentServiceContentProvider.java
* Query each of <code>theOverridingExtensions</code> for children, and then
	 * pipe them through the Pipeline content provider.
	 * 
	 * @param aParent
	 *            The parent element in the tree
	 * @param theOverridingExtensions
	 *            The set of overriding extensions that should participate in
	 *            the pipeline chain
	 * @param pipelinedChildren
	 *            The current children to return to the viewer (should be
	 *            modifiable)
	 */
	private void pipelineChildren(Object aParent, NavigatorContentExtension[] theOverridingExtensions,
			INavigatorContentDescriptor firstClassDescriptor, ContributorTrackingSet pipelinedChildren, boolean elements) {
		IPipelinedTreeContentProvider pipelinedContentProvider;
		NavigatorContentExtension[] overridingExtensions;
		for (int i = 0; i < theOverridingExtensions.length; i++) {
			if (theOverridingExtensions[i].internalGetContentProvider().isPipelined()) {
				pipelinedContentProvider = (IPipelinedTreeContentProvider) theOverridingExtensions[i]
						.internalGetContentProvider();
				pipelinedChildren.setContributor(theOverridingExtensions[i]
						.getDescriptor(), firstClassDescriptor);
				if (elements) {
					pipelinedContentProvider.getPipelinedElements(aParent, pipelinedChildren);
				} else {
					pipelinedContentProvider.getPipelinedChildren(aParent, pipelinedChildren);
				}
				overridingExtensions = theOverridingExtensions[i].getOverridingExtensionsForTriggerPoint(aParent);
				if (overridingExtensions.length > 0) {
					pipelineChildren(aParent, overridingExtensions, firstClassDescriptor, pipelinedChildren, elements);