code: func (n *node) blockingDependents() []*node {
  	dependents := n.getDependents()
  	var ret []*node
  	for _, dep := range dependents {
  		for _, owner := range dep.owners {
  			if owner.UID == n.identity.UID && owner.BlockOwnerDeletion != nil && *owner.BlockOwnerDeletion {
  				ret = append(ret, dep)
  			}
  		}
  	}
  	return ret
  }
docs: // blockingDependents returns the dependents that are blocking the deletion of
  // n, i.e., the dependent that has an ownerReference pointing to n, and
  // the BlockOwnerDeletion field of that ownerReference is true.
  // Note that this function does not provide any synchronization guarantees;
  // items could be added to or removed from ownerNode.dependents the moment this
  // function returns.