def METHOD_NAME(v, name, tag, party, gc):
    log_str = f"federation.eggroll.get.{name}.{tag}"
    if v is None:
        raise ValueError(f"[{log_str}]get `None` from {party}")
    if not _get_tag_not_duplicate(name, tag, party):
        raise ValueError(f"[{log_str}]get from {party} with duplicate tag")
    # got a roll pair
    if isinstance(v, RollPair):
        LOGGER.debug(
            f"[{log_str}] got "
            f"RollPair(namespace={v.get_namespace()}, name={v.get_name()}, partitions={v.get_partitions()})"
        )
        gc.add_gc_action(tag, v, "destroy", {})
        return v
    # others
    LOGGER.debug(f"[{log_str}] got object with type: {type(v)}")
    return v