@SdkInternalApi
    final DescribeDatasetResult executeDescribeDataset(DescribeDatasetRequest describeDatasetRequest) {

        ExecutionContext executionContext = createExecutionContext(describeDatasetRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<DescribeDatasetRequest> request = null;
        Response<DescribeDatasetResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new DescribeDatasetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeDatasetRequest));
                // 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, "Cognito Sync");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeDataset");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Gets meta data about a dataset by identity and dataset name. With Amazon Cognito Sync, each identity has access
only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.
</p>
<p>
This API can be called with temporary user credentials provided by Cognito Identity or with developer
credentials. You should use Cognito Identity credentials to make this API call.
</p>

@param describeDatasetRequest
       A request for meta data about a dataset (creation date, number of records, size) by owner and dataset
       name.
@return Result of the DescribeDataset operation returned by the service.
@throws NotAuthorizedException
        Thrown when a user is not authorized to access the requested resource.
@throws InvalidParameterException
        Thrown when a request parameter does not comply with the associated constraints.
@throws ResourceNotFoundException
        Thrown if the resource doesn't exist.
@throws InternalErrorException
        Indicates an internal service error.
@throws TooManyRequestsException
        Thrown if the request is throttled.
@sample AmazonCognitoSync.DescribeDataset
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/cognito-sync-2014-06-30/DescribeDataset" target="_top">AWS
     API Documentation</a>
aws-java-sdk-cognitosync/src/main/java/com/amazonaws/services/cognitosync/AmazonCognitoSyncClient.java