code: func NewMultiResourcePool(
  	options Options,
  	createPool func(Options) ResourcePool) ResourcePool {
  
  	if createPool == nil {
  		createPool = NewSimpleResourcePool
  	}
  
  	return &multiResourcePool{
  		options:       options,
  		createPool:    createPool,
  		rwMutex:       sync.RWMutex{},
  		isLameDuck:    false,
  		locationPools: make(map[string]ResourcePool),
  	}
  }
docs: // This returns a MultiResourcePool, which manages multiple
  // resource location entries.  The handles to each resource location
  // entry acts independently.
  //
  // When createPool is nil, NewSimpleResourcePool is used as default.