code: def _pyro_sample(self, msg):
      is_collapsible = getattr(msg["fn"], "collapsible", False)
      marginalize_latent = getattr(
          msg["fn"], "marginalize_latent", False
      )
      if is_collapsible:
          msg["fn"].site_name = msg["name"]
          msg["stop"] = True
      elif marginalize_latent:
          msg["fn"] = msg["fn"].parent.compound()
      else:
          return
  
imports: from collections import defaultdict
  import torch
  import pyro.distributions
  from pyro import poutine
  from pyro.distributions.util import sum_leftmost
  from pyro.poutine.messenger import Messenger
  from pyro.poutine.util import site_is_subsample
label_desc: Use image node_id 1 for calling the CollapseConjugateMessenger obj's underlying member method code with example usage: obj._pyro_sample(msg) without return types