code: def validate(self):
          
          assert self.role in ROLES, "Assumption Failed: Role must be one of the following {}".format(ROLES)
          assert isinstance(self.license, str) or isinstance(self.license, License), "Assumption Failed: License is not a string or license object"
          self.license.validate()
          # if self.required_file_format:
          #     files_valid = False
          #     #not any(f for f in self.files if isinstance(f, DownloadFile))
          #     for f in self.files:
          #         files_valid = files_valid or (f.path.endswith(self.required_file_format)
          #     assert files_valid , "Assumption Failed: Node should have at least one {} file".format(self.required_file_format)
          return super(ContentNode, self).validate()
docs: validate: Makes sure content node is valid
              Args: None
              Returns: boolean indicating if content node is valid