code: private synchronized void onRemovedMbean(ObjectName obj) {
          if (!detected_groups_.keySet().contains(obj)) {
              LOG.log(Level.WARNING, "skipping de-registration of {0}: not present", obj);
              return;
          }
  
          MBeanGroup instance = detected_groups_.get(obj);
          detected_groups_.remove(obj);
          LOG.log(Level.FINE, "de-registered metrics for {0}: {1}", new Object[]{obj, instance});
      }
docs: Respond to MBeans being removed.
  
  @param obj The name of the MBean being removed.