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
actionProviderInstances.clear();
		}
		actionProviderDescriptors.clear();
		disposed = false;
	}
	/**
	 * Use the given memento to restore the state of each Action Provider as it is initialized.
	 * 
	 * @param aMemento
	 *            The memento retrieved from the dialog settings
	 */
	public void restoreState(IMemento aMemento) {
		Assert.isTrue(!disposed);
		memento = aMemento;
		synchronized (actionProviderInstances) {
			for (Iterator actionProviderIterator = actionProviderInstances.values().iterator(); actionProviderIterator.hasNext();) {
				final CommonActionProvider provider = (CommonActionProvider) actionProviderIterator.next();
				ISafeRunnable runnable = new ISafeRunnable() {
					public void run() throws Exception {
						provider.restoreState(memento);
					}
					public void handleException(Throwable exception) {
						NavigatorPlugin.logError(0, "Could not restore state for action provider " + provider.getClass(), exception); 
					}
				};
				SafeRunner.run(runnable);
			}
		}
	}
	/**