private void failAll(Exception e) {
            for (QueueBufferFuture<R, Result> f : futures) {
                f.setFailure(e);
            }
        }
Processes the batch once closed. Is <em>NOT</em> called with a lock on {@code this}.
However, it's passed a local copy of both the {@code requests} and {@code futures} lists
made while holding the lock.
aws-java-sdk-sqs/src/main/java/com/amazonaws/services/sqs/buffered/SendQueueBuffer.java