### Question:
BasicSendQueueWithTransferQueue extends AbstractBasicSendQueue<T> { public final boolean shouldBatch() { return !queue.hasWaitingConsumer(); } BasicSendQueueWithTransferQueue(
            final String name,
            final int batchSize,
            final TransferQueue<Object> queue,
            final int checkBusyEvery,
            final Queue<T> owner); final boolean shouldBatch();  }### Answer:
@Test public void test3() { queue.startListener(new ReceiveQueueListener<String>() { int count; @Override public void receive(String item) { count++; if (count % 10_000 == 0) { Sys.sleep(10); } abq.add(item); } }); for (int index = 0; index < 100_000; index++) { sendQueue.send("" + index); if (index % 10 == 0) { if (!sendQueue.shouldBatch()) { sendQueue.flushSends(); } } } sendQueue.flushSends(); Sys.sleep(100); assert (abq.size() > 1_000); if (abq.size() < 100_000) { Sys.sleep(200); assertEquals(100_000, abq.size()); } }