docs: protected List<CmsTreeItem> getFilteredCategories(String filter) {
  
          List<CmsTreeItem> result = new ArrayList<CmsTreeItem>();
          if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(filter)) {
              result = new ArrayList<CmsTreeItem>();
              for (CmsTreeItem category : m_categories.values()) {
                  if (((CmsDataValue)category.getMainWidget()).matchesFilter(filter, 0, 1)) {
                      result.add(category);
                  }
              }
          } else {
              Iterator<CmsTreeItem> it = m_categories.values().iterator();
              while (it.hasNext()) {
                  result.add(it.next());
              }
  
          }
          return result;
      }