code: func (c *RegionCache) UpdateLeader(regionID RegionVerID, leaderStoreID uint64) {
  	c.mu.Lock()
  	defer c.mu.Unlock()
  
  	r := c.getCachedRegion(regionID)
  	if r == nil {
  		logutil.Logger(context.Background()).Debug("regionCache: cannot find region when updating leader",
  			zap.Uint64("regionID", regionID.GetID()),
  			zap.Uint64("leaderStoreID", leaderStoreID))
  		return
  	}
  
  	if !r.SwitchPeer(leaderStoreID) {
  		logutil.Logger(context.Background()).Debug("regionCache: cannot find peer when updating leader",
  			zap.Uint64("regionID", regionID.GetID()),
  			zap.Uint64("leaderStoreID", leaderStoreID))
  		c.dropRegionFromCache(r.VerID())
  	}
  }
docs: // UpdateLeader update some region cache with newer leader info.