code: func (p *NS1Provider) zonesFiltered() ([]*dns.Zone, error) {
  	// TODO handle Header Codes
  	zones, _, err := p.client.ListZones()
  	if err != nil {
  		return nil, err
  	}
  
  	toReturn := []*dns.Zone{}
  
  	for _, z := range zones {
  		if p.domainFilter.Match(z.Zone) && p.zoneIDFilter.Match(z.ID) {
  			toReturn = append(toReturn, z)
  			log.Debugf("Matched %s", z.Zone)
  		} else {
  			log.Debugf("Filtered %s", z.Zone)
  		}
  	}
  
  	return toReturn, nil
  }
docs: // Zones returns the list of hosted zones.