code: func nodeStatusHasChanged(originalStatus *v1.NodeStatus, status *v1.NodeStatus) bool {
  	if originalStatus == nil && status == nil {
  		return false
  	}
  	if originalStatus == nil || status == nil {
  		return true
  	}
  
  	// Compare node conditions here because we need to ignore the heartbeat timestamp.
  	if nodeConditionsHaveChanged(originalStatus.Conditions, status.Conditions) {
  		return true
  	}
  
  	// Compare other fields of NodeStatus.
  	originalStatusCopy := originalStatus.DeepCopy()
  	statusCopy := status.DeepCopy()
  	originalStatusCopy.Conditions = nil
  	statusCopy.Conditions = nil
  	return !apiequality.Semantic.DeepEqual(originalStatusCopy, statusCopy)
  }
docs: // nodeStatusHasChanged compares the original node and current node's status and
  // returns true if any change happens. The heartbeat timestamp is ignored.