code: def create_node(self, name, project_id, node_id, *args, **kwargs):
          
  
          if node_id in self._nodes:
              return self._nodes[node_id]
  
          project = ProjectManager.instance().get_project(project_id)
          if node_id and isinstance(node_id, int):
              # old project
              with (yield from BaseManager._convert_lock):
                  node_id = yield from self.convert_old_project(project, node_id, name)
  
          if not node_id:
              node_id = str(uuid4())
  
          node = self._NODE_CLASS(name, node_id, project, self, *args, **kwargs)
          if asyncio.iscoroutinefunction(node.create):
              yield from node.create()
          else:
              node.create()
          self._nodes[node.id] = node
          project.add_node(node)
          return node
docs: Create a new node
  
          :param name: Node name
          :param project_id: Project identifier
          :param node_id: restore a node identifier