code: func (b *backend) addSink(sink *auditregv1alpha1.AuditSink) {
  	b.delegateUpdateMutex.Lock()
  	defer b.delegateUpdateMutex.Unlock()
  	delegates := b.copyDelegates()
  	if _, ok := delegates[sink.UID]; ok {
  		klog.Errorf("Audit sink %q uid: %s already exists, could not readd", sink.Name, sink.UID)
  		return
  	}
  	d, err := b.createAndStartDelegate(sink)
  	if err != nil {
  		msg := fmt.Sprintf("Could not add audit sink %q: %v", sink.Name, err)
  		klog.Error(msg)
  		b.recorder.Event(sink, corev1.EventTypeWarning, "CreateFailed", msg)
  		return
  	}
  	delegates[sink.UID] = d
  	b.setDelegates(delegates)
  	klog.V(2).Infof("Added audit sink: %s", sink.Name)
  	klog.V(2).Infof("Current audit sinks: %v", delegates.Names())
  }
docs: // addSink is called by the shared informer when a sink is added