code: def _add_node(self, cmd_node, cmd_path):
          
          parent = self.tree
          for cmd_key in cmd_path:
              if cmd_key not in parent['children']:
                  break
              parent = parent['children'][cmd_key]
          parent["children"][cmd_node['name']] = cmd_node
          return cmd_node
docs: :type cmd_path: list or tuple