docs: public synchronized boolean add(ModuleItem item) {
          if (item == null)
              return false;
  
          if (children == null)
              //children = new ArrayList();
              children = new TreeMap();
  
          String itemName = item.getInstance().getName();
          if (find(itemName) == null) {
              item.setParent(this);
              children.put(itemName, item);
  
              /*
               * // add it to parent in a sorted way
               * int ind = 0;
               * boolean added = false;
               * while(ind < children.size())
               * {
               * ModuleItem child = (ModuleItem)children.get(ind);
               * String childName = child.getInstance().getName();
               * 
               * int cmp = childName.compareTo(itemName);
               * if(cmp == 0)
               * {
               * // duplicate module name (display name)
               * return false;
               * }
               * else if(cmp > 0)
               * {
               * children.add(ind, item);
               * added = true;
               * break;
               * }
               * else
               * {
               * ind++;
               * }
               * }
               * 
               * if(!added)
               * children.add(item);
               */
  
              if (myStatsWithChildren != null)
                  addToStatsTree(item);
  
              //bStatsTreeNeedsUpdate = true;
  
              return true;
          } else {
              // a module with the same name already exists
              return false;
          }
      }