Bug 11748 switch to new DecoratorManager API
From the workbench change notes: API changes IWorkbenchPartSite.getDecoratorManager() - As the DecoratorManager has proven to be required for more than just IWorkbenchPartSites we have moved getDecoratorManager() to IWorkbench and deprecated the getDecoratorManager() in IWorkbenchPartSite. The one in IWorkbenchPartSite will be removed after the other Eclipse components have had a chance to switch to the new API.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java
store.setDefault(TAG_SHOWBINARIES, true);
	}
	/**
	 * Returns the package explorer part of the active perspective. If 
	 * there isn't any package explorer part <code>null</code> is returned.
	 */
	public static PackageExplorerPart getFromActivePerspective() {
		IViewPart view= JavaPlugin.getActivePage().findView(VIEW_ID);
		if (view instanceof PackageExplorerPart)
			return (PackageExplorerPart)view;
		return null;	
	}
	
	/**
	 * Makes the package explorer part visible in the active perspective. If there
	 * isn't a package explorer part registered <code>null</code> is returned.
	 * Otherwise the opened view part is returned.
	 */
	public static PackageExplorerPart openInActivePerspective() {
		try {
			return (PackageExplorerPart)JavaPlugin.getActivePage().showView(VIEW_ID);
		} catch(PartInitException pe) {
			return null;
		}
	} 
		
	 public void dispose() {
	 	if (fViewer != null)
			JavaPlugin.getDefault().getProblemMarkerManager().removeListener(fViewer);
		if (fContextMenu != null && !fContextMenu.isDisposed())