def METHOD_NAME(cls, vnodes, vnode_name, parent_offset):
    path = [vnode_name]
    seen_offsets = set()
    while parent_offset in vnodes:
        parent_name, parent_offset, _ = vnodes[parent_offset]
        if parent_offset is None:
            parent_offset = 0
        # circular references from smear
        elif parent_offset in seen_offsets:
            path = []
            break
        else:
            seen_offsets.add(parent_offset)
        path.insert(0, parent_name)
    if len(path) > 1:
        path = "/".join(path)
    else:
        path = vnode_name
    if path.startswith("//"):
        path = path[1:]
    return path