code: func (p *multiResourcePool) Register(resourceLocation string) error {
  	if resourceLocation == "" {
  		return errors.New("Registering invalid resource location")
  	}
  
  	p.rwMutex.Lock()
  	defer p.rwMutex.Unlock()
  
  	if p.isLameDuck {
  		return errors.Newf(
  			"Cannot register %s to lame duck resource pool",
  			resourceLocation)
  	}
  
  	if _, inMap := p.locationPools[resourceLocation]; inMap {
  		return nil
  	}
  
  	pool := p.createPool(p.options)
  	if err := pool.Register(resourceLocation); err != nil {
  		return err
  	}
  
  	p.locationPools[resourceLocation] = pool
  	return nil
  }
docs: // See ResourcePool for documentation.