def add_state_errors(self, errors):
        """
        Add state errors
        Accepts a list of errors (or a single Error) coming from validators
        applied to entity as whole that are used for entity state validation
        The errors will exist on a  __state__ property of the errors object.

        :param errors: list or Error, list of entity state validation errors
        :return: shiftschema.result.Result
        """
        if not self.errors:
            self.errors = dict()
        if '__state__' not in self.errors:
            self.errors['__state__'] = []

        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))

            self.errors['__state__'].append(error)

        return self