public void run() {
   // fail, if the bundle is not active
   if (component.getState() == Component.STATE_DISPOSED) {
     // cannot use bundle to log because it is not accessible from the
     // component if the component is destroyed
     Activator.log(
         LogService.LOG_WARNING,
         null,
         "Cannot run task '" + this + "': Component has already been disposed",
         null);
   } else if (!ComponentRegistry.isBundleActive(component.getBundle())) {
     Activator.log(
         LogService.LOG_WARNING,
         component.getBundle(),
         "Cannot run task '" + this + "': Declaring bundle is not active",
         null);
   } else {
     doRun();
   }
 }
 public void unregisterComponentId(AbstractComponentManager componentManager) {
   m_componentRegistry.unregisterComponentId(componentManager.getId());
 }