docs: public synchronized void remove(ModuleItem item) {
          if (item == null || children == null)
              return;
  
          // remove from all the parents which have links to it due to aggregate data
          PmiModule removeInstance = item.getInstance();
          if (!(removeInstance instanceof PmiModuleAggregate)) {
              // recursively remove aggregate data for parents
              ModuleItem myParent = this;
              PmiModule parModule = null;
              while (myParent != null) {
                  parModule = myParent.getInstance();
                  // if parent is aggregate
                  if (parModule != null && parModule instanceof PmiModuleAggregate)
                      ((PmiModuleAggregate) parModule).remove(removeInstance);
  
                  myParent = myParent.getParent();
              }
          }
  
          // remove any children
          item._cleanChildren();
  
          // remove ModuleItem
          children.remove(item.getInstance().getName());
  
          if (myStatsWithChildren != null) {
              updateStatsTree();
          }
  
          //bStatsTreeNeedsUpdate = true;
  
          // remove mbean mapping and deactivate any CustomStats mbean
          //_cleanMBean(item);
          item.getInstance().cleanup();
          item = null;
      }