Run the dispatcher over a textgroup.

        :param textgroup: Textgroup object that needs to be dispatched
        :param directory: Directory in which the textgroup was found

def _dispatch(self, textgroup, directory):
        """ Run the dispatcher over a textgroup.

        :param textgroup: Textgroup object that needs to be dispatched
        :param directory: Directory in which the textgroup was found
        """
        if textgroup.id in self.dispatcher.collection:
            self.dispatcher.collection[textgroup.id].update(textgroup)
        else:
            self.dispatcher.dispatch(textgroup, path=directory)

        for work_urn, work in textgroup.works.items():
            if work_urn in self.dispatcher.collection[textgroup.id].works:
                self.dispatcher.collection[work_urn].update(work)