boolean halfwayPointReached = consumerReadToHalfwayLatch.await(5000, TimeUnit.MILLISECONDS);
assertTrue("Did not read half of messages within time allowed", halfwayPointReached);
_managedSourceQueue.moveMessages(fromMessageId, toMessageId, _destinationQueueName);
asyncConnection.stop();
// The exact number of messages moved will be non deterministic, as the number of messages processed
// by the consumer cannot be predicted. There is also the possibility that a message can remain
// on the source queue. This situation will arise if a message has been acquired by the consumer, but not
// yet delivered to the client application (i.e. MessageListener#onMessage()) when the Connection#stop() occurs.