public <T> java.util.Map<java.lang.String,T> getBulk(Collection<String> keyCollection, long timeoutMiliSec) 
			throws TimeoutException, com.quickserverlab.quickcached.client.MemcachedException {
		Map<java.lang.String,T> objectList = null;
		try{
			Future <Map<String, Object>> f = getCache().asyncGetBulk(keyCollection);
			try {
				objectList = (Map) f.get(timeoutMiliSec, TimeUnit.MILLISECONDS);
			}catch(CancellationException ce){
				throw new com.quickserverlab.quickcached.client.MemcachedException("CancellationException "+ ce);
			}catch(ExecutionException ee){
				throw new com.quickserverlab.quickcached.client.MemcachedException("ExecutionException "+ ee);
			}catch(InterruptedException ie){
				throw new com.quickserverlab.quickcached.client.MemcachedException("InterruptedException " + ie);
			}catch(java.util.concurrent.TimeoutException te){
				throw new TimeoutException("Timeout "+te);
			}finally{
				f.cancel(false);
			}
		}catch(IllegalStateException ise){
			throw new com.quickserverlab.quickcached.client.MemcachedException("IllegalStateException "+ ise);
		}
		return objectList;
    }