code: def add_entity_errors(
          self,
          property_name,
          direct_errors=None,
          schema_errors=None
      ):
          if direct_errors is None and schema_errors is None:
              return self
          if direct_errors is not None:
              if property_name not in self.errors:
                  self.errors[property_name] = dict()
              if 'direct' not in self.errors[property_name]:
                  self.errors[property_name]['direct'] = []
              if type(direct_errors) is not list:
                  direct_errors = [direct_errors]
              for error in direct_errors:
                  if not isinstance(error, Error):
                      err = 'Error must be of type {}'
                      raise x.InvalidErrorType(err.format(Error))
                  self.errors[property_name]['direct'].append(error)
          if schema_errors is not None:
              if isinstance(schema_errors, Result):
                  schema_errors = schema_errors.errors
              if not schema_errors:
                  return self
              if property_name not in self.errors:
                  self.errors[property_name] = dict()
              if 'schema' not in self.errors[property_name]:
                  self.errors[property_name]['schema'] = schema_errors
              else:
                  self.errors[property_name]['schema'] = self.merge_errors(
                      self.errors[property_name]['schema'],
                      schema_errors
                  )
          return self