in src/main/java/com/amazonaws/services/sqs/util/ReceiveQueueBuffer.java [251:259]
private void pruneExpiredTasks() {
int numberExpiredTasksPruned = pruneHeadTasks(t -> t.isExpired() && t.getException() == null);
// If we pruned any tasks because they are expired we also want to prune any empty tasks
// afterwards so we have a chance to receive those expired messages again.
if (numberExpiredTasksPruned > 0) {
pruneHeadTasks(t -> t.isEmpty() && t.getException() == null);
}
}