code: def make_node(self, rv, value, *dims):
      assert isinstance(rv, Variable)
      dims = self._parse_dims(rv, *dims)
      if value is not None:
          assert isinstance(value, Variable)
          assert rv.type.dtype == value.type.dtype
          return Apply(
              self, [rv, value, *dims], [rv.type(name=rv.name)]
          )
  
imports: from copy import copy
  from typing import Dict, Optional, Tuple
  import pytensor
  from pytensor import Variable, shared
  from pytensor.compile import SharedVariable
  from pytensor.graph import Apply, FunctionGraph, Op, node_rewriter
  from pytensor.graph.rewriting.basic import out2in
  from pytensor.scalar import Identity
  from pytensor.tensor.elemwise import Elemwise
  from pytensor.tensor.sharedvar import ScalarSharedVariable
  from pymc.logprob.transforms import Transform
  from pymc.model.core import Model
  from pymc.pytensorf import StringType, find_rng_nodes, toposort_replace
label_desc: Use image node_id 2 for calling the ModelValuedVar obj's underlying member method code with example usage: obj.make_node(rv, value) and returns: Apply