in src/main/java/com/amazonaws/services/sqs/util/ReceiveQueueBuffer.java [136:160]
    public Future<ReceiveMessageResult> receiveMessageAsync(ReceiveMessageRequest rq) {
        if (shutDown) {
            throw new AmazonClientException("The buffer has been shut down.");
        }
        // issue the future...
        int numMessages = 10;
        if (rq.getMaxNumberOfMessages() != null) {
            numMessages = rq.getMaxNumberOfMessages();
        }
        long waitTimeNanos;
        if (rq.getWaitTimeSeconds() != null) {
            waitTimeNanos = TimeUnit.SECONDS.toNanos(rq.getWaitTimeSeconds());
        } else {
            waitTimeNanos = defaultWaitTimeNanos;
        }
        ReceiveMessageFuture toReturn = issueFuture(numMessages, waitTimeNanos);
        // attempt to satisfy it right away...
        satisfyFuturesFromBuffer();
        toReturn.startWaitTimer();
        return toReturn;
    }