code: func (c *Controller) Run(stopCh <-chan struct{}) {
  	defer utilruntime.HandleCrash()
  	r := cache.NewReflector(
  		c.config.ListerWatcher,
  		c.config.ObjectType,
  		c.config.Queue,
  		c.config.FullResyncPeriod,
  	)
  
  	c.reflectorMutex.Lock()
  	c.reflector = r
  	c.reflectorMutex.Unlock()
  
  	r.RunUntil(stopCh)
  
  	wait.Until(c.processLoop, time.Second, stopCh)
  }
docs: // Run begins processing items, and will continue until a value is sent down stopCh.
  // It's an error to call Run more than once.
  // Run blocks; call via go.