code: def add_schema(self, schema):
          
          if isinstance(schema, SchemaBuilder):
              schema_uri = schema.schema_uri
              schema = schema.to_schema()
              if schema_uri is None:
                  del schema['$schema']
          elif isinstance(schema, SchemaNode):
              schema = schema.to_schema()
  
          if '$schema' in schema:
              self.schema_uri = self.schema_uri or schema['$schema']
              schema = dict(schema)
              del schema['$schema']
          self._root_node.add_schema(schema)
docs: Merge in a JSON schema. This can be a ``dict`` or another
          ``SchemaBuilder``
  
          :param schema: a JSON Schema
  
          .. note::
              There is no schema validation. If you pass in a bad schema,
              you might get back a bad schema.