code: func (cc *Controller) onUpdateRemoteConfigSourceEvent(oldObj interface{}, newObj interface{}) {
  	// since ConfigMap is currently the only source type, we handle that here
  	newConfigMap, ok := newObj.(*apiv1.ConfigMap)
  	if !ok {
  		utillog.Errorf("failed to cast new object to ConfigMap, couldn't handle event")
  		return
  	}
  	if oldObj == nil {
  		// ConfigMap was just added, need to sync
  		utillog.Infof("initial ConfigMap watch event")
  		cc.pokeConfigSourceWorker()
  		return
  	}
  	oldConfigMap, ok := oldObj.(*apiv1.ConfigMap)
  	if !ok {
  		utillog.Errorf("failed to cast old object to ConfigMap, couldn't handle event")
  		return
  	}
  	if !apiequality.Semantic.DeepEqual(oldConfigMap, newConfigMap) {
  		utillog.Infof("assigned ConfigMap was updated")
  		cc.pokeConfigSourceWorker()
  	}
  }
docs: // onUpdateRemoteConfigSourceEvent checks whether the configSource changed between oldObj and newObj,
  // and pokes the sync worker if there was a change