public void unregister(ScopedComponent component) {
   super.unregister(component);
   instances.remove(component);
   if (component.isEagerInit()) {
     URI uri = component.getContributionUri();
     synchronized (initQueues) {
       List<ScopedComponent> initQueue = initQueues.get(uri);
       initQueue.remove(component);
       if (initQueue.isEmpty()) {
         initQueues.remove(uri);
       }
     }
   }
 }
 public void register(ScopedComponent component) {
   super.register(component);
   if (component.isEagerInit()) {
     URI uri = component.getContributionUri();
     synchronized (initQueues) {
       List<ScopedComponent> initQueue = initQueues.get(uri);
       if (initQueue == null) {
         initQueue = new ArrayList<>();
         initQueues.put(uri, initQueue);
       }
       initQueue.add(component);
     }
   }
   instances.put(component, EMPTY);
 }