@SdkInternalApi
    final ListResponseHeadersPoliciesResult executeListResponseHeadersPolicies(ListResponseHeadersPoliciesRequest listResponseHeadersPoliciesRequest) {

        ExecutionContext executionContext = createExecutionContext(listResponseHeadersPoliciesRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<ListResponseHeadersPoliciesRequest> request = null;
        Response<ListResponseHeadersPoliciesResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new ListResponseHeadersPoliciesRequestMarshaller().marshall(super.beforeMarshalling(listResponseHeadersPoliciesRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
                request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
                request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
                request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
                request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResponseHeadersPolicies");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

            } finally {
                awsRequestMetrics.endEvent(Field.RequestMarshallTime);
            }

            StaxResponseHandler<ListResponseHeadersPoliciesResult> responseHandler = new StaxResponseHandler<ListResponseHeadersPoliciesResult>(
                    new ListResponseHeadersPoliciesResultStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Gets a list of response headers policies.
</p>
<p>
You can optionally apply a filter to get only the managed policies created by Amazon Web Services, or only the
custom policies created in your Amazon Web Services account.
</p>
<p>
You can optionally specify the maximum number of items to receive in the response. If the total number of items
in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
next page of items, send a subsequent request that specifies the <code>NextMarker</code> value from the current
response as the <code>Marker</code> value in the subsequent request.
</p>

@param listResponseHeadersPoliciesRequest
@return Result of the ListResponseHeadersPolicies operation returned by the service.
@throws AccessDeniedException
        Access denied.
@throws NoSuchResponseHeadersPolicyException
        The response headers policy does not exist.
@throws InvalidArgumentException
        An argument is invalid.
@sample AmazonCloudFront.ListResponseHeadersPolicies
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListResponseHeadersPolicies"
     target="_top">AWS API Documentation</a>
aws-java-sdk-cloudfront/src/main/java/com/amazonaws/services/cloudfront/AmazonCloudFrontClient.java