code: func (asw *actualStateOfWorld) updateNodeStatusUpdateNeeded(nodeName types.NodeName, needed bool) error {
  	nodeToUpdate, nodeToUpdateExists := asw.nodesToUpdateStatusFor[nodeName]
  	if !nodeToUpdateExists {
  		// should not happen
  		errMsg := fmt.Sprintf("Failed to set statusUpdateNeeded to needed %t, because nodeName=%q does not exist",
  			needed, nodeName)
  		return fmt.Errorf(errMsg)
  	}
  
  	nodeToUpdate.statusUpdateNeeded = needed
  	asw.nodesToUpdateStatusFor[nodeName] = nodeToUpdate
  
  	return nil
  }
docs: // Update the flag statusUpdateNeeded to indicate whether node status is already updated or
  // needs to be updated again by the node status updater.
  // If the specified node does not exist in the nodesToUpdateStatusFor list, log the error and return
  // This is an internal function and caller should acquire and release the lock