public void waitForCompletion(final long timeout, final TimeUnit unit) 
			throws InterruptedException, ExecutionException, TimeoutException {
		doneLatch.await(timeout, unit);
	}
public void waitForCompletion ( final long timeout , final TimeUnit unit ) throws InterruptedException , ExecutionException , TimeoutException { doneLatch . await ( timeout , unit ) ; }
Wait for the completion of the operation (timed version)
@param timeout
@param unit
@throws InterruptedException
@throws ExecutionException
@throws TimeoutException