code: func (sl *SchemaLoader) AddSchemas(loaders ...JSONLoader) error {
  	emptyRef, _ := gojsonreference.NewJsonReference("")
  
  	for _, loader := range loaders {
  		doc, err := loader.LoadJSON()
  
  		if err != nil {
  			return err
  		}
  
  		if sl.Validate {
  			if err := sl.validateMetaschema(doc); err != nil {
  				return err
  			}
  		}
  
  		// Directly use the Recursive function, so that it get only added to the schema pool by $id
  		// and not by the ref of the document as it's empty
  		if err = sl.pool.parseReferences(doc, emptyRef, false); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // AddSchemas adds an arbritrary amount of schemas to the schema cache. As this function does not require
  // an explicit URL, every schema should contain an $id, so that it can be referenced by the main schema