code: private <X, Y extends AmazonWebServiceRequest> Response<X> doInvoke(Request<Y> request, HttpResponseHandler<AmazonWebServiceResponse<X>> responseHandler,
              ExecutionContext executionContext) {
          request.setEndpoint(endpoint);
          request.setTimeOffset(timeOffset);
  
          HttpResponseHandler<AmazonServiceException> errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata());
  
          return client.execute(request, responseHandler, errorResponseHandler, executionContext);
      }
docs: Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the
  ExecutionContext beforehand.