class_docstr: This is logical node representing the original node without any modification.
  In assemble, just return the original node along with the physical placement given by multi_model_placement.
code: def __repr__(self):
      return f"OriginNode(id={self.id}, name={self.name}, \
              operation={self.operation}, origin_model_id={self.original_graph.model.model_id})"
  
imports: import copy
  from typing import Dict, Tuple, Any, Type, cast
  from nni.common.device import Device, CPUDevice
  from nni.mutable.utils import uid
  from nni.nas.space import Edge, Graph, GraphModelSpace, Node
  from nni.nas.space.graph_op import Cell, Operation, _IOPseudoOperation
label_desc: Use image node_id 3 for calling the OriginNode obj's underlying member method code with example usage: obj.__repr__() and returns: str, self, str, self, str, self, str, self, str