code: func (d *DisallowFlunder) Admit(a admission.Attributes, o admission.ObjectInterfaces) error {
  	// we are only interested in flunders
  	if a.GetKind().GroupKind() != wardle.Kind("Flunder") {
  		return nil
  	}
  
  	if !d.WaitForReady() {
  		return admission.NewForbidden(a, fmt.Errorf("not yet ready to handle request"))
  	}
  
  	metaAccessor, err := meta.Accessor(a.GetObject())
  	if err != nil {
  		return err
  	}
  	flunderName := metaAccessor.GetName()
  
  	fischers, err := d.lister.List(labels.Everything())
  	if err != nil {
  		return err
  	}
  
  	for _, fischer := range fischers {
  		for _, disallowedFlunder := range fischer.DisallowedFlunders {
  			if flunderName == disallowedFlunder {
  				return errors.NewForbidden(
  					a.GetResource().GroupResource(),
  					a.GetName(),
  					fmt.Errorf("this name may not be used, please change the resource name"),
  				)
  			}
  		}
  	}
  	return nil
  }
docs: // Admit ensures that the object in-flight is of kind Flunder.
  // In addition checks that the Name is not on the banned list.
  // The list is stored in Fischers API objects.