code: func validateTopologySelectorLabelRequirement(rq core.TopologySelectorLabelRequirement, fldPath *field.Path) (sets.String, field.ErrorList) {
  	allErrs := field.ErrorList{}
  	valueSet := make(sets.String)
  	valuesPath := fldPath.Child("values")
  	if len(rq.Values) == 0 {
  		allErrs = append(allErrs, field.Required(valuesPath, ""))
  	}
  
  	// Validate set property of Values field
  	for i, value := range rq.Values {
  		if valueSet.Has(value) {
  			allErrs = append(allErrs, field.Duplicate(valuesPath.Index(i), value))
  		}
  		valueSet.Insert(value)
  	}
  
  	allErrs = append(allErrs, unversionedvalidation.ValidateLabelName(rq.Key, fldPath.Child("key"))...)
  
  	return valueSet, allErrs
  }
docs: // validateTopologySelectorLabelRequirement tests that the specified TopologySelectorLabelRequirement fields has valid data,
  // and constructs a set containing all of its Values.