code: func NewLabelsFromString(labelText string) (Labels, error) {
  	endpointLabels := map[string]string{}
  	labelText = strings.Trim(labelText, "\"") // drop quotes
  	tokens := strings.Split(labelText, ",")
  	foundExternalDNSHeritage := false
  	for _, token := range tokens {
  		if len(strings.Split(token, "=")) != 2 {
  			continue
  		}
  		key := strings.Split(token, "=")[0]
  		val := strings.Split(token, "=")[1]
  		if key == "heritage" && val != heritage {
  			return nil, ErrInvalidHeritage
  		}
  		if key == "heritage" {
  			foundExternalDNSHeritage = true
  			continue
  		}
  		if strings.HasPrefix(key, heritage) {
  			endpointLabels[strings.TrimPrefix(key, heritage+"/")] = val
  		}
  	}
  
  	if !foundExternalDNSHeritage {
  		return nil, ErrInvalidHeritage
  	}
  
  	return endpointLabels, nil
  }
docs: // NewLabelsFromString constructs endpoints labels from a provided format string
  // if heritage set to another value is found then error is returned
  // no heritage automatically assumes is not owned by external-dns and returns invalidHeritage error