code: public T take(int time, TimeUnit unit) throws InterruptedException
      {
          return items.poll(time, unit);
      }
docs: Take the next item from the queue, waiting up to the specified time for
  an available item. If the time elapses, <code>null</code> is returned.
  
  @param time amount of time to block
  @param unit time unit
  @return next item or null
  @throws InterruptedException thread interruption