code: def node(self, viz_node):
      # add the node first
      super().node(viz_node)
      # if it's AwesomeVar, duplicate it.
      if viz_node.type_name == "AwesomeVar":
          duplicated_id = f"duplicated_{viz_node.identity}"
          duplicated_type = "double AwesomeVar"
          super().node(VizNode(duplicated_id, duplicated_type, ""))
          # connect the duplicated var to the original one
          super().edge(VizEdge(duplicated_id, viz_node.identity))
  
file_path: tvm/gallery/how_to/work_with_relay/using_relay_viz.py
imports: from typing import Dict, Union, Tuple, List
  import tvm
  from tvm import relay
  from tvm.contrib import relay_viz
  from tvm.contrib.relay_viz.interface import VizEdge, VizNode, VizParser
  from tvm.contrib.relay_viz.terminal import TermGraph, TermPlotter, TermVizParser
label_desc: Use image node_id 1 for calling the AwesomeGraph obj's underlying member method code with example usage: obj.node(viz_node) without return types