code: func (c *MixinSpec) MixinFiles(primaryFile string, mixinFiles []string, w io.Writer) ([]string, error) {
  
  	primaryDoc, err := loads.Spec(primaryFile)
  	if err != nil {
  		return nil, err
  	}
  	primary := primaryDoc.Spec()
  
  	var mixins []*spec.Swagger
  	for _, mixinFile := range mixinFiles {
  		mixin, lerr := loads.Spec(mixinFile)
  		if lerr != nil {
  			return nil, lerr
  		}
  		mixins = append(mixins, mixin.Spec())
  	}
  
  	collisions := analysis.Mixin(primary, mixins...)
  	analysis.FixEmptyResponseDescriptions(primary)
  
  	return collisions, writeToFile(primary, !c.Compact, c.Format, string(c.Output))
  }
docs: // MixinFiles is a convenience function for Mixin that reads the given
  // swagger files, adds the mixins to primary, calls
  // FixEmptyResponseDescriptions on the primary, and writes the primary
  // with mixins to the given writer in JSON.  Returns the warning
  // messages for collisions that occurred during mixin process and any
  // error.