code: func (p *roundRobinResourcePool) Unregister(resourceLocation string) error {
  	p.rwMutex.Lock()
  	defer p.rwMutex.Unlock()
  
  	idx := -1
  	for i, locPool := range p.pools {
  		if locPool.ResourceLocation == resourceLocation {
  			idx = i
  			break
  		}
  	}
  
  	if idx >= 0 {
  		_ = p.pools[idx].Pool.Unregister(p.pools[idx].ResourceLocation)
  		p.pools[idx].Pool.EnterLameDuckMode()
  		tail := p.pools[idx+1:]
  		p.pools = p.pools[0:idx]
  		p.pools = append(p.pools, tail...)
  		shuffle(p.pools)
  	}
  	return nil
  }
docs: // See ResourcePool for documentation.