code: def _visit_content(item, parent, visitor):
          
          if KindType.is_project(item):
              visitor.visit_project(item)
          elif KindType.is_folder(item):
              visitor.visit_folder(item, parent)
          else:
              visitor.visit_file(item, parent)
          if not KindType.is_file(item):
              for child in item.children:
                  ProjectWalker._visit_content(child, item, visitor)
docs: Recursively visit nodes in the project tree.
          :param item: LocalContent/LocalFolder/LocalFile we are traversing down from
          :param parent: LocalContent/LocalFolder parent or None
          :param visitor: object visiting the tree