docs: public static <T> Iterator<T> iterator(BlockingQueue<T> queue, long time, TimeUnit unit)
      {
          return new XIteratorImpl<>(()->true, ()->
          {
              try
              {
                  T item = queue.poll(time, unit);
                  if (item == null)
                  {
                      throw new NoSuchElementException("timeout");
                  }
                  return item;
              }
              catch (InterruptedException ex)
              {
                  throw new NoSuchElementException("interrupted");
              }
          });
      }