code: func nullableString(schema *spec.Schema, isRequired bool) bool {
  	if nullable := nullableExtension(schema.Extensions); nullable != nil {
  		return *nullable
  	}
  	hasDefault := schema.Default != nil && !swag.IsZero(schema.Default)
  
  	isMin := schema.MinLength != nil && *schema.MinLength != 0
  	bcMin := schema.MinLength != nil && *schema.MinLength == 0
  
  	nullable := !schema.ReadOnly && (isRequired || (hasDefault && !isMin) || bcMin)
  	return nullable
  }
docs: // nullableString makes a string nullable when we want to distinguish the zero value from no value set.
  // This is the case when:
  // - a x-nullable extension says so in the spec
  // - it is **not** a read-only property
  // - it is a required property
  // - it has a MinLength property set to 0
  // - it has a default other than "" (the zero for strings) and no MinLength or zero MinLength