def METHOD_NAME(self, msg):
    if msg["is_observed"] or site_is_subsample(msg):
        return
    prior = msg["fn"]
    msg["infer"]["prior"] = prior
    posterior = self.get_posterior(msg["name"], prior)
    if isinstance(posterior, torch.Tensor):
        posterior = dist.Delta(posterior, event_dim=prior.event_dim)
    if posterior.batch_shape != prior.batch_shape:
        posterior = posterior.expand(prior.batch_shape)
    msg["fn"] = posterior