The PoolMap maps a key to a collection of values, the elements
of which are managed by a pool. In effect, that collection acts as a shared
pool of resources, access to which is closely controlled as per the semantics
of the pool.
In case the size of the pool is set to a non-zero positive number, that is
used to cap the number of resources that a pool may contain for any given
key. A size of Integer.MAX_VALUE is interpreted as an unbounded pool.