Walk down a chain of node names and get the nodes they represent
    e.g. [ "entry", "content", "bag", "fileCount" ]

def getNodeByNameChain(node, chain_list):
    """
    Walk down a chain of node names and get the nodes they represent
    e.g. [ "entry", "content", "bag", "fileCount" ]
    """

    working_list = chain_list[:]
    working_list.reverse()
    current_node = node
    while len(working_list):
        current_name = working_list.pop()
        child_node = getNodeByName(current_node, current_name)
        if child_node is None:
            raise Exception("Unable to find child node %s" % current_name)
        current_node = child_node
    return current_node