code: def _dispatch(self, textgroup, directory):
          
          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)
docs: Run the dispatcher over a textgroup.
  
          :param textgroup: Textgroup object that needs to be dispatched
          :param directory: Directory in which the textgroup was found