@Override
 public void stop(BundleContext context) throws Exception {
   plugin = null;
   if (repository != null) repository.shutdown();
   if (selectedBindingManager != null) {
     IWorkbench workbench = PlatformUI.getWorkbench();
     IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows();
     for (int i = 0; i < workbenchWindows.length; i++) {
       IWorkbenchPage page = workbench.getWorkbenchWindows()[i].getActivePage();
       page.removeSelectionListener(selectedBindingManager);
     }
   }
   super.stop(context);
 }
 /*
  * @see IPageListener#pageClosed(IWorkbenchPage)
  */
 public void pageClosed(IWorkbenchPage page) {
   page.removeSelectionListener(getPartId(), selListener);
   page.removePostSelectionListener(getPartId(), postSelListener);
 }