code: def validate_tree(self):
          
          self.validate()
          for child in self.children:
              assert child.validate_tree()
          return True
docs: Validate all nodes in this tree recusively.
            Args: None
            Returns: boolean indicating if tree is valid