where(attrs).first || raise(Errors::DocumentNotFound.new(self, attrs))
instead of something like criteria.execute_or_raise