code: func dropInitContainerAnnotations(oldAnnotations map[string]string) map[string]string {
  	if len(oldAnnotations) == 0 {
  		return oldAnnotations
  	}
  
  	found := false
  	for k := range initContainerAnnotations {
  		if _, ok := oldAnnotations[k]; ok {
  			found = true
  			break
  		}
  	}
  	if !found {
  		return oldAnnotations
  	}
  
  	newAnnotations := make(map[string]string, len(oldAnnotations))
  	for k, v := range oldAnnotations {
  		if !initContainerAnnotations[k] {
  			newAnnotations[k] = v
  		}
  	}
  	return newAnnotations
  }
docs: // dropInitContainerAnnotations returns a copy of the annotations with init container annotations removed,
  // or the original annotations if no init container annotations were present.
  //
  // this can be removed once no clients prior to 1.8 are supported, and no kubelets prior to 1.8 can be run
  // (we don't support kubelets older than 2 versions skewed from the apiserver, but we don't prevent them, either)