code: @Override
  	protected boolean await(final PoolWaitFuture<PoolableObject<V>> future, final PoolKey<K> key, Date deadline) throws InterruptedException {
  		PoolableObjects<V> pobjs = objectPool(key);
  		try
  		{
  			pobjs.queue(future);
  			waiting.add(future);
  			return future.await(deadline);
  		}
  		finally {
  			pobjs.unqueue(future);
  			waiting.remove(future);
  		}
  	}
docs: {@inheritDoc}