docs: private void recursiveCollapseAreas(AreaImpl root)
      {
          if (canCollapse(root))
          {
              //System.out.println("Collapsing: " + root);
              recursiveCollapseSubtree(root, root);
              root.removeAllChildren();
          }
          else
          {
              for (int i = 0; i < root.getChildCount(); i++)
                  recursiveCollapseAreas((AreaImpl) root.getChildAt(i));
          }
      }
      
      private boolean canCollapse(AreaImpl area)
      {
          return (area.getChildCount() == 1 && area.getChildAt(0).isLeaf());
      }
  
      private void recursiveCollapseSubtree(AreaImpl src, AreaImpl dest)
      {
          for (int i = 0; i < src.getChildCount(); i++)
          {
              AreaImpl child = (AreaImpl) src.getChildAt(i);
              recursiveCollapseSubtree(child, dest);
              dest.joinChild(child);
          }
      }
  
      
  }