code: func CreateUpdateNodeHandler(f func(oldNode, newNode *v1.Node) error) func(oldObj, newObj interface{}) {
  	return func(origOldObj, origNewObj interface{}) {
  		node := origNewObj.(*v1.Node).DeepCopy()
  		prevNode := origOldObj.(*v1.Node).DeepCopy()
  
  		if err := f(prevNode, node); err != nil {
  			utilruntime.HandleError(fmt.Errorf("Error while processing Node Add/Delete: %v", err))
  		}
  	}
  }
docs: // CreateUpdateNodeHandler creates a node update handler. (Common to lifecycle and ipam)