docs: def find_mismatch(self, other, indent=''):
          """
          Used in debugging unittests
          """
          mismatch = super(Tree, self).find_mismatch(other, indent)
          sub_indent = indent + '  '
          if len(list(self.subjects)) != len(list(other.subjects)):
              mismatch += ('\n{indent}mismatching subject lengths '
                           '(self={} vs other={}): '
                           '\n{indent}  self={}\n{indent}  other={}'
                           .format(len(list(self.subjects)),
                                   len(list(other.subjects)),
                                   list(self.subjects),
                                   list(other.subjects),
                                   indent=sub_indent))
          else:
              for s, o in zip(self.subjects, other.subjects):
                  mismatch += s.find_mismatch(o, indent=sub_indent)
          if len(list(self.visits)) != len(list(other.visits)):
              mismatch += ('\n{indent}mismatching visit lengths '
                           '(self={} vs other={}): '
                           '\n{indent}  self={}\n{indent}  other={}'
                           .format(len(list(self.visits)),
                                   len(list(other.visits)),
                                   list(self.visits),
                                   list(other.visits),
                                   indent=sub_indent))
          else:
              for s, o in zip(self.visits, other.visits):
                  mismatch += s.find_mismatch(o, indent=sub_indent)
          return mismatch