code: func (ownerNode *node) getDependents() []*node {
  	ownerNode.dependentsLock.RLock()
  	defer ownerNode.dependentsLock.RUnlock()
  	var ret []*node
  	for dep := range ownerNode.dependents {
  		ret = append(ret, dep)
  	}
  	return ret
  }
docs: // 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.