def add_errors(self, property_name, errors):
        """
        Add one or several errors to properties.
        :param property_name: str, property name
        :param errors: list or Error, error object(s)
        :return: shiftschema.result.Result
        """
        if type(errors) is not list:
            errors = [errors]
        for error in errors:
            if not isinstance(error, Error):
                err = 'Error must be of type {}'
                raise x.InvalidErrorType(err.format(Error))

        if property_name in self.errors:
            self.errors[property_name].extend(errors)
        else:
            self.errors[property_name] = errors

        return self