code: func (ls Labels) MatchLabels(on bool, names ...string) Labels {
  	matchedLabels := Labels{}
  
  	nameSet := map[string]struct{}{}
  	for _, n := range names {
  		nameSet[n] = struct{}{}
  	}
  
  	for _, v := range ls {
  		if _, ok := nameSet[v.Name]; on == ok {
  			matchedLabels = append(matchedLabels, v)
  		}
  	}
  
  	return matchedLabels
  }
docs: // MatchLabels returns a subset of Labels that matches/does not match with the provided label names based on the 'on' boolean.
  // If on is set to true, it returns the subset of labels that match with the provided label names and its inverse when 'on' is set to false.