docs: @Override
      public int drainTo(Collection<DelayedEntry> collection) {
          checkNotNull(collection, "collection can not be null");
  
          Iterator<DelayedEntry> iterator = deque.iterator();
          while (iterator.hasNext()) {
              DelayedEntry e = iterator.next();
              collection.add(e);
              iterator.remove();
          }
          resetCountIndex();
          return collection.size();
      }