code: func (ssc *StatefulSetController) deletePod(obj interface{}) {
  	pod, ok := obj.(*v1.Pod)
  
  	// When a delete is dropped, the relist will notice a pod in the store not
  	// in the list, leading to the insertion of a tombstone object which contains
  	// the deleted key/value. Note that this value might be stale.
  	if !ok {
  		tombstone, ok := obj.(cache.DeletedFinalStateUnknown)
  		if !ok {
  			utilruntime.HandleError(fmt.Errorf("couldn't get object from tombstone %+v", obj))
  			return
  		}
  		pod, ok = tombstone.Obj.(*v1.Pod)
  		if !ok {
  			utilruntime.HandleError(fmt.Errorf("tombstone contained object that is not a pod %+v", obj))
  			return
  		}
  	}
  
  	controllerRef := metav1.GetControllerOf(pod)
  	if controllerRef == nil {
  		// No controller should care about orphans being deleted.
  		return
  	}
  	set := ssc.resolveControllerRef(pod.Namespace, controllerRef)
  	if set == nil {
  		return
  	}
  	klog.V(4).Infof("Pod %s/%s deleted through %v.", pod.Namespace, pod.Name, utilruntime.GetCaller())
  	ssc.enqueueStatefulSet(set)
  }
docs: // deletePod enqueues the statefulset for the pod accounting for deletion tombstones.