docs: def resolver(self):
          """jsonschema RefResolver object for the base schema."""
          if self._resolver is not None:
              return self._resolver
          if self._schema_path is not None:
              # the documentation for ref resolving
              # https://github.com/Julian/jsonschema/issues/98
              # https://python-jsonschema.readthedocs.org/en/latest/references/
              self._resolver = SchemaRefResolver(
                  'file://' + self._schema_path + '/', self.schema)
          else:
              self._resolver = SchemaRefResolver.from_schema(self.schema)
          return self._resolver