@SdkInternalApi
    final GetSinkPolicyResult executeGetSinkPolicy(GetSinkPolicyRequest getSinkPolicyRequest) {

        ExecutionContext executionContext = createExecutionContext(getSinkPolicyRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<GetSinkPolicyRequest> request = null;
        Response<GetSinkPolicyResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new GetSinkPolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getSinkPolicyRequest));
                // 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, "OAM");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetSinkPolicy");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

            HttpResponseHandler<AmazonWebServiceResponse<GetSinkPolicyResult>> responseHandler = protocolFactory.createResponseHandler(
                    new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetSinkPolicyResultJsonUnmarshaller());
            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Returns the current sink policy attached to this sink. The sink policy specifies what accounts can attach to this
sink as source accounts, and what types of data they can share.
</p>

@param getSinkPolicyRequest
@return Result of the GetSinkPolicy operation returned by the service.
@throws InternalServiceException
        Unexpected error while processing the request. Retry the request.
@throws MissingRequiredParameterException
        A required parameter is missing from the request.
@throws InvalidParameterException
        A parameter is specified incorrectly.
@throws ResourceNotFoundException
        The request references a resource that does not exist.
@sample AWSOAM.GetSinkPolicy
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/GetSinkPolicy" target="_top">AWS API
     Documentation</a>
aws-java-sdk-oam/src/main/java/com/amazonaws/services/oam/AWSOAMClient.java