docs: public void setCategories(List<CmsCategory> categories) {
  
          for (int i = 0; i < categories.size(); i++) {
              CmsCategory cat = categories.get(i);
              m_container.addItem(cat);
              m_checkboxes.put(cat, new CheckBox());
              String parentPath = CmsResource.getParentFolder(cat.getPath());
              if (parentPath.length() > 1) {
                  for (int j = i - 1; j >= 0; j--) {
                      if (categories.get(j).getPath().equals(parentPath)) {
                          m_container.setParent(cat, categories.get(j));
                          break;
                      }
                  }
              }
          }
          // hide openers
          for (CmsCategory cat : categories) {
              if ((m_container.getChildren(cat) == null) || (m_container.getChildren(cat).size() == 0)) {
                  m_container.setChildrenAllowed(cat, false);
              }
          }
      }