docs: @Override
      public Collection<PoiCategory> deepChildren() {
          // Use a Set in case of joint sub-trees
          Collection<PoiCategory> ret = new HashSet<>();
          Stack<PoiCategory> stack = new Stack<>();
  
          stack.push(this);
  
          while (!stack.isEmpty()) {
              for (PoiCategory c : stack.pop().getChildren()) {
                  ret.add(c);
                  stack.push(c);
              }
          }
  
          return ret;
      }