code: def validate(self):
          
          assert isinstance(self.author, str) , "Assumption Failed: Author is not a string"
          assert isinstance(self.aggregator, str) , "Assumption Failed: Aggregator is not a string"
          assert isinstance(self.provider, str) , "Assumption Failed: Provider is not a string"
          assert isinstance(self.files, list), "Assumption Failed: Files is not a list"
          assert isinstance(self.questions, list), "Assumption Failed: Questions is not a list"
          assert isinstance(self.extra_fields, dict), "Assumption Failed: Extra fields is not a dict"
          return super(TreeNode, self).validate()
docs: validate: Makes sure content node is valid
              Args: None
              Returns: boolean indicating if content node is valid