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/navigator/NavigatorActionService.java
}
			synchronized (actionProviderInstances) {
				provider = (CommonActionProvider) actionProviderInstances
						.get(aProviderDescriptor);
				if (provider == null) {
					provider = aProviderDescriptor.createActionProvider();
					if (provider != null) {
						actionProviderInstances.put(aProviderDescriptor, provider);
						initialize(aProviderDescriptor.getId(), aProviderDescriptor.getPluginId(), provider);
					} else {
						actionProviderInstances.put(aProviderDescriptor,
								(provider = SkeletonActionProvider.INSTANCE));
					}
				}
			}
		} catch(Throwable t) {
			NavigatorPlugin.logError(0, t.getMessage(), t);
		}
		return provider;
	}
	private void initialize(String id, String pluginId, CommonActionProvider anActionProvider) {
		if (anActionProvider != null && anActionProvider != SkeletonActionProvider.INSTANCE) {
			ICommonActionExtensionSite configuration = new CommonActionExtensionSite(id, pluginId, commonViewerSite, contentService, structuredViewer);
			anActionProvider.init(configuration);
			anActionProvider.restoreState(memento);
			anActionProvider.setContext(new ActionContext(StructuredSelection.EMPTY));
		}
	}
}