code: func (s *JSONSchema) Dup() *JSONSchema {
  	js := JSONSchema{
  		ID:                   s.ID,
  		Description:          s.Description,
  		Schema:               s.Schema,
  		Type:                 s.Type,
  		DefaultValue:         s.DefaultValue,
  		Title:                s.Title,
  		Media:                s.Media,
  		ReadOnly:             s.ReadOnly,
  		PathStart:            s.PathStart,
  		Links:                s.Links,
  		Ref:                  s.Ref,
  		Enum:                 s.Enum,
  		Format:               s.Format,
  		Pattern:              s.Pattern,
  		Minimum:              s.Minimum,
  		Maximum:              s.Maximum,
  		MinLength:            s.MinLength,
  		MaxLength:            s.MaxLength,
  		MinItems:             s.MinItems,
  		MaxItems:             s.MaxItems,
  		Required:             s.Required,
  		AdditionalProperties: s.AdditionalProperties,
  	}
  	for n, p := range s.Properties {
  		js.Properties[n] = p.Dup()
  	}
  	if s.Items != nil {
  		js.Items = s.Items.Dup()
  	}
  	for n, d := range s.Definitions {
  		js.Definitions[n] = d.Dup()
  	}
  	return &js
  }
docs: // Dup creates a shallow clone of the given schema.