}
}
if (queueWithLowestItem == null) break; // all queues are empty
// extract and put the lowest item into the target queue
byte[] data = queueWithLowestItem.dequeue();
targetBigQueue.enqueue(data);
}
// release the source queues since we have done with them
for(IBigQueue bigQueue : listOfSortedQueues) {
bigQueue.removeAll(); // make empty the queue, delete back data files to save disk space