@SdkInternalApi
    final BatchDeleteRecipeVersionResult executeBatchDeleteRecipeVersion(BatchDeleteRecipeVersionRequest batchDeleteRecipeVersionRequest) {

        ExecutionContext executionContext = createExecutionContext(batchDeleteRecipeVersionRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<BatchDeleteRecipeVersionRequest> request = null;
        Response<BatchDeleteRecipeVersionResult> response = null;

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

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Deletes one or more versions of a recipe at a time.
</p>
<p>
The entire request will be rejected if:
</p>
<ul>
<li>
<p>
The recipe does not exist.
</p>
</li>
<li>
<p>
There is an invalid version identifier in the list of versions.
</p>
</li>
<li>
<p>
The version list is empty.
</p>
</li>
<li>
<p>
The version list size exceeds 50.
</p>
</li>
<li>
<p>
The version list contains duplicate entries.
</p>
</li>
</ul>
<p>
The request will complete successfully, but with partial failures, if:
</p>
<ul>
<li>
<p>
A version does not exist.
</p>
</li>
<li>
<p>
A version is being used by a job.
</p>
</li>
<li>
<p>
You specify <code>LATEST_WORKING</code>, but it's being used by a project.
</p>
</li>
<li>
<p>
The version fails to be deleted.
</p>
</li>
</ul>
<p>
The <code>LATEST_WORKING</code> version will only be deleted if the recipe has no other versions. If you try to
delete <code>LATEST_WORKING</code> while other versions exist (or if they can't be deleted), then
<code>LATEST_WORKING</code> will be listed as partial failure in the response.
</p>

@param batchDeleteRecipeVersionRequest
@return Result of the BatchDeleteRecipeVersion operation returned by the service.
@throws ConflictException
        Updating or deleting a resource can cause an inconsistent state.
@throws ResourceNotFoundException
        One or more resources can't be found.
@throws ValidationException
        The input parameters for this request failed validation.
@sample AWSGlueDataBrew.BatchDeleteRecipeVersion
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/BatchDeleteRecipeVersion"
     target="_top">AWS API Documentation</a>
aws-java-sdk-gluedatabrew/src/main/java/com/amazonaws/services/gluedatabrew/AWSGlueDataBrewClient.java