code: func (gc *GarbageCollector) processDeletingDependentsItem(item *node) error {
  	blockingDependents := item.blockingDependents()
  	if len(blockingDependents) == 0 {
  		klog.V(2).Infof("remove DeleteDependents finalizer for item %s", item.identity)
  		return gc.removeFinalizer(item, metav1.FinalizerDeleteDependents)
  	}
  	for _, dep := range blockingDependents {
  		if !dep.isDeletingDependents() {
  			klog.V(2).Infof("adding %s to attemptToDelete, because its owner %s is deletingDependents", dep.identity, item.identity)
  			gc.attemptToDelete.Add(dep)
  		}
  	}
  	return nil
  }
docs: // process item that's waiting for its dependents to be deleted