### Question:
DiskBackedQueue extends AbstractQueue<E> implements Closeable, BlockingQueue<E> { @Override public int size() { return Ints.saturatedCast(queue.size()); } private  DiskBackedQueue(DiskBackedQueueInternals<E> queue); @Override E poll(); @Override int drainTo(Collection<? super E> collection, int maxElements); @Override int drainTo(Collection<? super E> collection); @Override E peek(); @Override E poll(long timeout, TimeUnit unit); @Override int remainingCapacity(); @Override E take(); @Override void put(E e); void put(@Nonnull E e, @Nullable byte[] data); boolean offer(@Nonnull E e, @Nullable byte[] data); boolean offer(@Nonnull E e, @Nullable byte[] data, long timeout, TimeUnit unit); @Override boolean offer(E e); @Override boolean offer(E e, long timeout, TimeUnit unit); long getDiskByteUsage(); Path getPath(); @Override void close(); @Override void clear(); double fastToSlowWriteRatio(); @Override Iterator<E> iterator(); @Override int size();  }### Answer:
@Test public void drainToWithMaxElements() throws Exception { for (int i = 0; i <= (ELEMENTS.size() + 1); i++) { drainToWithMaxElements(i); } }