public String retrieveQueueUrl(AmazonWebServiceRequest request) {
        ReflectionMethodInvoker<AmazonWebServiceRequest, String> getter = reflectionMethodInvokers.get(request.getClass());
        if (getter == null) {
            getter = new ReflectionMethodInvoker<AmazonWebServiceRequest, String>(request.getClass(),
                                                                                  String.class,
                                                                                  "getQueueUrl");
            reflectionMethodInvokers.put(request.getClass(), getter);
        }

        try {
            return getter.invoke(request);
        } catch (NoSuchMethodException e) {
            // ignore
        }
        return null;
    }
Custom request handler for SQS that processes the request before it gets routed to the client
runtime layer.
<p>
SQS MessageQueue operations take a QueueUrl parameter that needs special handling to update the
endpoint and resource path on the request before it's executed.
aws-java-sdk-sqs/src/main/java/com/amazonaws/services/sqs/QueueUrlHandler.java