code: def _start_reflector(self, key, ReflectorClass, replace=False, **kwargs):
          
          main_loop = IOLoop.current()
          def on_reflector_failure():
              self.log.critical(
                  "%s reflector failed, halting Hub.",
                  key.title(),
              )
              sys.exit(1)
  
          previous_reflector = self.__class__.reflectors.get(key)
  
          if replace or not previous_reflector:
              self.__class__.reflectors[key] = ReflectorClass(
                  parent=self,
                  namespace=self.namespace,
                  on_failure=on_reflector_failure,
                  **kwargs,
              )
  
          if replace and previous_reflector:
              # we replaced the reflector, stop the old one
              previous_reflector.stop()
  
          # return the current reflector
          return self.__class__.reflectors[key]
docs: Start a shared reflector on the KubeSpawner class
  
  
          key: key for the reflector (e.g. 'pod' or 'events')
          Reflector: Reflector class to be instantiated
          kwargs: extra keyword-args to be relayed to ReflectorClass
  
          If replace=False and the pod reflector is already running,
          do nothing.
  
          If replace=True, a running pod reflector will be stopped
          and a new one started (for recovering from possible errors).