':type closures: list of CaperClosure'

def run(self, closures):

    self.setup(closures)
    self.capture_fragment('show_name', single=False).until_fragment(node__re='identifier').until_fragment(node__re='video').until_fragment(node__re='dvd').until_fragment(node__re='audio').until_fragment(node__re='scene').execute()
    self.capture_fragment('identifier', regex='identifier', single=False).capture_fragment('video', regex='video', single=False).capture_fragment('dvd', regex='dvd', single=False).capture_fragment('audio', regex='audio', single=False).capture_fragment('scene', regex='scene', single=False).until_fragment(left_sep__eq='-', right__eq=None).execute()
    self.capture_fragment('group', func=self.capture_group).execute()
    self.print_tree(self.result.heads)
    self.result.build()
    return self.result
