code: func (b *codeGenOpBuilder) makeSecurityRequirements(receiver string) []GenSecurityRequirements {
  	if b.Security == nil {
  		// nil (default requirement) is different than [] (no requirement)
  		return nil
  	}
  
  	securityRequirements := make([]GenSecurityRequirements, 0, len(b.Security))
  	for _, req := range b.Security {
  		jointReq := make(GenSecurityRequirements, 0, len(req))
  		for _, j := range req {
  			scopes := j.Scopes
  			sort.Strings(scopes)
  			jointReq = append(jointReq, GenSecurityRequirement{
  				Name:   j.Name,
  				Scopes: scopes,
  			})
  		}
  		// sort joint requirements (come from a map in spec)
  		sort.Sort(jointReq)
  		securityRequirements = append(securityRequirements, jointReq)
  	}
  	return securityRequirements
  }
docs: // makeSecurityRequirements produces a sorted list of security requirements for this operation.
  // As for current, these requirements are not used by codegen (sec. requirement is determined at runtime).
  // We keep the order of the slice from the original spec, but sort the inner slice which comes from a map,
  // as well as the map of scopes.