@SdkInternalApi
    final ListDistributionsByKeyGroupResult executeListDistributionsByKeyGroup(ListDistributionsByKeyGroupRequest listDistributionsByKeyGroupRequest) {

        ExecutionContext executionContext = createExecutionContext(listDistributionsByKeyGroupRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<ListDistributionsByKeyGroupRequest> request = null;
        Response<ListDistributionsByKeyGroupResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new ListDistributionsByKeyGroupRequestMarshaller().marshall(super.beforeMarshalling(listDistributionsByKeyGroupRequest));
                // 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, "ListDistributionsByKeyGroup");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

            StaxResponseHandler<ListDistributionsByKeyGroupResult> responseHandler = new StaxResponseHandler<ListDistributionsByKeyGroupResult>(
                    new ListDistributionsByKeyGroupResultStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Gets a list of distribution IDs for distributions that have a cache behavior that references the specified key
group.
</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 listDistributionsByKeyGroupRequest
@return Result of the ListDistributionsByKeyGroup operation returned by the service.
@throws NoSuchResourceException
        A resource that was specified is not valid.
@throws InvalidArgumentException
        An argument is invalid.
@sample AmazonCloudFront.ListDistributionsByKeyGroup
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByKeyGroup"
     target="_top">AWS API Documentation</a>
aws-java-sdk-cloudfront/src/main/java/com/amazonaws/services/cloudfront/AmazonCloudFrontClient.java