docs: def run(self, value, errors, request):
          """Return the object if valid and available, otherwise None."""
          value = self.id_validator(value, errors, request)
          if errors:
              return None
          if self.fetch_by:
              thing = self.cls.fetch_by(**{self.fetch_by: value})
          else:
              thing = self.cls.fetch_by_id(value)
          if not thing and self.source == SOURCE_MATCHDICT:
              # If part of the URL we should have a not-found error
              raise HTTPNotFound()
          elif not thing:
              self.add_error(errors, 'Invalid {0}'
                             .format(self.cls.__name__))
          return thing