code: private Set<String> findReachableNodes(CmsAppCategoryNode rootNode, HashSet<String> reachableNodes) {
  
          reachableNodes.add(rootNode.getCategory().getId());
          for (CmsAppCategoryNode child : rootNode.getChildren()) {
              findReachableNodes(child, reachableNodes);
          }
          return reachableNodes;
      }
docs: Finds the category nodes reachable from a node.<p>
  
  @param rootNode the root node
  @param reachableNodes set used for collecting the reachable nodes
  
  @return the set of reachable node ids