public static void main(String[] args) throws InterruptedException {
// tag::usageMyApp[]
MyAllocator allocator = new MyAllocator();
Config<MyPoolable> config = new Config<MyPoolable>().setAllocator(allocator);
Pool<MyPoolable> pool = new BlazePool<MyPoolable>(config);
Timeout timeout = new Timeout(1, TimeUnit.SECONDS);
MyPoolable object = pool.claim(timeout);
try {
// Do stuff with 'object'.
// Note that 'claim' will return 'null' if it times out!