code: def create_node(self, *args, **kwargs):
          
  
          with (yield from self._iou_id_lock):
              # wait for a node to be completely created before adding a new one
              # this is important otherwise we allocate the same application ID
              # when creating multiple IOU node at the same time
              application_id = get_next_application_id(self.nodes)
              node = yield from super().create_node(*args, application_id=application_id, **kwargs)
          return node
docs: Creates a new IOU VM.
  
          :returns: IOUVM instance