code: func (s *APIEnablementOptions) Validate(registries ...GroupRegisty) []error {
  	if s == nil {
  		return nil
  	}
  
  	errors := []error{}
  	if s.RuntimeConfig["api/all"] == "false" && len(s.RuntimeConfig) == 1 {
  		// Do not allow only set api/all=false, in such case apiserver startup has no meaning.
  		return append(errors, fmt.Errorf("invalid key with only api/all=false"))
  	}
  
  	groups, err := resourceconfig.ParseGroups(s.RuntimeConfig)
  	if err != nil {
  		return append(errors, err)
  	}
  
  	for _, registry := range registries {
  		// filter out known groups
  		groups = unknownGroups(groups, registry)
  	}
  	if len(groups) != 0 {
  		errors = append(errors, fmt.Errorf("unknown api groups %s", strings.Join(groups, ",")))
  	}
  
  	return errors
  }
docs: // Validate validates RuntimeConfig with a list of registries.
  // Usually this list only has one element, the apiserver registry of the process.
  // But in the advanced (and usually not recommended) case of delegated apiservers there can be more.
  // Validate will filter out the known groups of each registry.
  // If anything is left over after that, an error is returned.