code: func (le *LeaderElector) Run(ctx context.Context) {
  	defer func() {
  		runtime.HandleCrash()
  		le.config.Callbacks.OnStoppedLeading()
  	}()
  	if !le.acquire(ctx) {
  		return // ctx signalled done
  	}
  	ctx, cancel := context.WithCancel(ctx)
  	defer cancel()
  	go le.config.Callbacks.OnStartedLeading(ctx)
  	le.renew(ctx)
  }
docs: // Run starts the leader election loop