code: func (f *featureGate) DeepCopy() MutableFeatureGate {
  	// Copy existing state.
  	known := map[Feature]FeatureSpec{}
  	for k, v := range f.known.Load().(map[Feature]FeatureSpec) {
  		known[k] = v
  	}
  	enabled := map[Feature]bool{}
  	for k, v := range f.enabled.Load().(map[Feature]bool) {
  		enabled[k] = v
  	}
  
  	// Store copied state in new atomics.
  	knownValue := &atomic.Value{}
  	knownValue.Store(known)
  	enabledValue := &atomic.Value{}
  	enabledValue.Store(enabled)
  
  	// Construct a new featureGate around the copied state.
  	// Note that specialFeatures is treated as immutable by convention,
  	// and we maintain the value of f.closed across the copy.
  	return &featureGate{
  		special: specialFeatures,
  		known:   knownValue,
  		enabled: enabledValue,
  		closed:  f.closed,
  	}
  }
docs: // DeepCopy returns a deep copy of the FeatureGate object, such that gates can be
  // set on the copy without mutating the original. This is useful for validating
  // config against potential feature gate changes before committing those changes.