code: private boolean canBeRetrievedFromQueueBuffer(ReceiveMessageRequest rq) {
          return !hasRequestedQueueAttributes(rq) && requestedMessageAttributesAreCompatible(rq) && isBufferingEnabled()
                  && (rq.getVisibilityTimeout() == null);
      }
docs: We prefetch and load results in the buffer by making basic requests. I.E. we don't request
  queue or message attributes and we have a default visibility timeout. If the user's request
  deviates from the basic request we can't fulfill the request directly from the buffer, we
  have to hit SQS directly (Note that when going to SQS directly messages currently in the
  buffer may be unavailable due to the visibility timeout).
  
  @return True if the request can be fulfilled directly from the buffer, false if we have to go
  back to the service to fetch the results