/**
  * Perform the actual update, called by {@link #update()}. Reset all the collections, refresh from
  * SPI, modify any previously published components and notify any observers.
  */
 protected synchronized void doUpdate() {
   resetCollections();
   findChildren();
   updatePublishedComponents();
   multiCaster.notify(new UpdatedMenuManagerEvent());
 }