public void preallocate(int instances) {
        for (int i = 0; i < instances; i++) {
            pool.offer(factory.get());
        }
    }
A pool of a resource. This create new instances of the resource on request until enough are created
to deliver a unique one to all threads needing one concurrently and then reuse those instances
in subsequent requests.

@author baldersheim
vespajlib/src/main/java/com/yahoo/yolean/concurrent/ConcurrentResourcePool.java