code: func (r rfc2136Provider) ApplyChanges(changes *plan.Changes) error {
  	log.Debugf("ApplyChanges")
  
  	for _, ep := range changes.Create {
  
  		if !r.domainFilter.Match(ep.DNSName) {
  			log.Debugf("Skipping record %s because it was filtered out by the specified --domain-filter", ep.DNSName)
  			continue
  		}
  
  		r.AddRecord(ep)
  	}
  	for _, ep := range changes.UpdateNew {
  
  		if !r.domainFilter.Match(ep.DNSName) {
  			log.Debugf("Skipping record %s because it was filtered out by the specified --domain-filter", ep.DNSName)
  			continue
  		}
  
  		r.UpdateRecord(ep)
  	}
  	for _, ep := range changes.Delete {
  
  		if !r.domainFilter.Match(ep.DNSName) {
  			log.Debugf("Skipping record %s because it was filtered out by the specified --domain-filter", ep.DNSName)
  			continue
  		}
  
  		r.RemoveRecord(ep)
  	}
  
  	return nil
  }
docs: // ApplyChanges applies a given set of changes in a given zone.