code: func (e *EndpointController) deletePod(obj interface{}) {
  	if _, ok := obj.(*v1.Pod); ok {
  		// Enqueue all the services that the pod used to be a member
  		// of. This happens to be exactly the same thing we do when a
  		// pod is added.
  		e.addPod(obj)
  		return
  	}
  	// If we reached here it means the pod was deleted but its final state is unrecorded.
  	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
  	}
  	klog.V(4).Infof("Enqueuing services of deleted pod %s/%s having final state unrecorded", pod.Namespace, pod.Name)
  	e.addPod(pod)
  }
docs: // When a pod is deleted, enqueue the services the pod used to be a member of.
  // obj could be an *v1.Pod, or a DeletionFinalStateUnknown marker item.