code: def set_project_nodes(self, root_node, maximum_depth=1):
          
  
          root_directory = root_node.path
          for parent_directory, directories, files in foundations.walkers.depth_walker(root_directory, maximum_depth):
              if parent_directory == root_directory:
                  parent_node = root_node
              else:
                  parent_node = foundations.common.get_first_item(
                      [node for node in foundations.walkers.nodes_walker(root_node)
                       if node.family == "Directory" and node.path == parent_directory])
  
              if not parent_node:
                  continue
  
              paths = [node.path for node in parent_node.children]
              for directory in sorted(directories):
                  if directory.startswith("."):
                      continue
  
                  path = os.path.join(parent_directory, directory)
                  if path in paths:
                      continue
  
                  directory_node = self.register_directory(path, parent_node)
  
              for file in sorted(files):
                  if file.startswith("."):
                      continue
  
                  path = os.path.join(parent_directory, file)
                  if path in paths:
                      continue
  
                  if foundations.io.is_readable(path):
                      if foundations.io.is_binary_file(path):
                          continue
  
                  file_node = self.register_file(path, parent_node)
docs: Sets the project Model children Nodes using given root node.
  
          :param root_node: Root node.
          :type root_node: ProjectNode or DirectoryNode
          :param maximum_depth: Maximum nodes nesting depth.
          :type maximum_depth: int