/** {@inheritDoc} */
  @Override
  public void earlyStartup() {
    // Load the projects manager
    ProjectsManager.load();

    // Add a listener to the resources changes of the workspace
    ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
    PluginLogger.info("Resources changes are now listened"); // $NON-NLS-1$
  }
 public static void show() {
   IWorkbench wb = PlatformUI.getWorkbench();
   IWorkbenchPage wbPage = wb.getActiveWorkbenchWindow().getActivePage();
   if (wbPage != null) {
     try {
       IConsoleView conView = (IConsoleView) wbPage.showView(IConsoleConstants.ID_CONSOLE_VIEW);
       conView.display(getRhinoConsole());
     } catch (PartInitException e) {
       PluginLogger.log("Console.show() - PartInitException: " + e.getMessage());
     }
   }
 }
 @Override
 public Object remove() {
   if (!logger.isRunning()) {
     return super.remove();
   }
   Object o = super.remove();
   if (o == null) {
     return null;
   }
   try {
     if (CraftTaskRef.TEMPLATE.isType(o)) {
       Runnable run = CraftTaskRef.task.get(o);
       if (run != null && !logger.isIgnoredTask(run)) {
         Plugin plugin = CraftTaskRef.plugin.get(o);
         if (plugin != null && plugin.isEnabled()) {
           CraftTaskRef.task.set(o, logger.getWrapper(run, plugin));
         }
       }
     }
   } catch (Throwable t) {
     NoLagg.plugin.handle(t);
   }
   return o;
 }