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/StructuredViewerManager.java
viewerDataMap.put(element, desc);
					if (Policy.DEBUG_VIEWER_MAP)
						System.out.println("associate: " + element + " item: " + item + " desc: " + desc); 
				}
			}
			public void disassociate(Item item) {
				synchronized (viewerDataMap) {
					if (Policy.DEBUG_VIEWER_MAP)
						System.out.println("disassociate:  item: " + item + " object: " + item.getData()); 
					viewerDataMap.remove(item.getData());
				}
			}
		}
		protected static void hookAssociateListener(StructuredViewer v, Map viewerDataMap, NavigatorContentService contentService) {
			StructuredViewerInternals.setAssociateListener(v, new Listener(contentService, viewerDataMap));
		}
	}
	
	/**
	 * @param element
	 * @return the object
	 */
	public Object getData(Object element) {
		synchronized (viewerDataMap) {
			return viewerDataMap.get(element);
		}
	}
	/**
	 * Used when NCEs associated with the viewer are changed.
	 */