docs: private static MutableTreeNode simplifyTree(MutableTreeNode cur, String prefix) {
      if(cur instanceof PackageNode) {
        PackageNode node = (PackageNode) cur;
        if(node.getChildCount() == 1) {
          String newprefix = (prefix != null) ? prefix + "." + (String) node.getUserObject() : (String) node.getUserObject();
          cur = simplifyTree((MutableTreeNode) node.getChildAt(0), newprefix);
        }
        else {
          if(prefix != null) {
            node.setUserObject(prefix + "." + (String) node.getUserObject());
          }
          for(int i = 0; i < node.getChildCount(); i++) {
            MutableTreeNode c = (MutableTreeNode) node.getChildAt(i);
            MutableTreeNode c2 = simplifyTree(c, null);
            if(c != c2) {
              node.remove(i);
              node.insert(c2, i);
            }
          }
        }
      }
      else if(cur instanceof ClassNode) {
        ClassNode node = (ClassNode) cur;
        if(prefix != null) {
          node.setUserObject(prefix + "." + (String) node.getUserObject());
        }
      }
      return cur;
    }