code: func (p *AWSProvider) newChanges(action string, endpoints []*endpoint.Endpoint, recordsCache []*endpoint.Endpoint, zones map[string]*route53.HostedZone) []*route53.Change {
  	changes := make([]*route53.Change, 0, len(endpoints))
  
  	for _, endpoint := range endpoints {
  		changes = append(changes, p.newChange(action, endpoint, recordsCache, zones))
  	}
  
  	return changes
  }
docs: // newChanges returns a collection of Changes based on the given records and action.