docs: def run(self, visitor):
          """
          :param visitor: visitor to call with every node in the domain tree.
          :type visitor: subclass of
              :class:`everest.entities.traversal.DomainVisitor`
          """
          if __debug__:
              self.__log_run(visitor)
          visitor.prepare()
          if self.__root_is_sequence:
              if not self._tgt_prx is None:
                  tgts = iter(self._tgt_prx)
              else:
                  tgts = None
              if not self._src_prx is None:
                  srcs = iter(self._src_prx)
              else:
                  srcs = None
              self.traverse_many(None, srcs, tgts, visitor)
          else:
              self.traverse_one(None, self._src_prx, self._tgt_prx, visitor)
          visitor.finalize()