@Override
 public V poll(long timeout, TimeUnit unit) throws InterruptedException {
   Future<V> res = pollAsync(timeout, unit);
   return res.await().getNow();
 }
 @Override
 public V pollLastAndOfferFirstTo(String queueName, long timeout, TimeUnit unit)
     throws InterruptedException {
   Future<V> res = pollLastAndOfferFirstToAsync(queueName, timeout, unit);
   return res.await().getNow();
 }
 @Override
 public V take() throws InterruptedException {
   Future<V> res = takeAsync();
   return res.await().getNow();
 }