code: func NewAdmissionOptions() *AdmissionOptions {
  	options := &AdmissionOptions{
  		Plugins:    admission.NewPlugins(),
  		Decorators: admission.Decorators{admission.DecoratorFunc(admissionmetrics.WithControllerMetrics)},
  		// This list is mix of mutating admission plugins and validating
  		// admission plugins. The apiserver always runs the validating ones
  		// after all the mutating ones, so their relative order in this list
  		// doesn't matter.
  		RecommendedPluginOrder: []string{lifecycle.PluginName, mutatingwebhook.PluginName, validatingwebhook.PluginName},
  		DefaultOffPlugins:      sets.NewString(),
  	}
  	server.RegisterAllAdmissionPlugins(options.Plugins)
  	return options
  }
docs: // NewAdmissionOptions creates a new instance of AdmissionOptions
  // Note:
  //  In addition it calls RegisterAllAdmissionPlugins to register
  //  all generic admission plugins.
  //
  //  Provides the list of RecommendedPluginOrder that holds sane values
  //  that can be used by servers that don't care about admission chain.
  //  Servers that do care can overwrite/append that field after creation.