@SdkInternalApi
    final DeleteQualificationTypeResult executeDeleteQualificationType(DeleteQualificationTypeRequest deleteQualificationTypeRequest) {

        ExecutionContext executionContext = createExecutionContext(deleteQualificationTypeRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<DeleteQualificationTypeRequest> request = null;
        Response<DeleteQualificationTypeResult> response = null;

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

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
The <code>DeleteQualificationType</code> deletes a Qualification type and deletes any HIT types that are
associated with the Qualification type.
</p>
<p>
This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be
needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk
rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT
types.
</p>
<note>
<p>
DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before
completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the
Qualification type is available for reuse with CreateQualificationType.
</p>
</note>

@param deleteQualificationTypeRequest
@return Result of the DeleteQualificationType operation returned by the service.
@throws ServiceException
        Amazon Mechanical Turk is temporarily unable to process your request. Try your call again.
@throws RequestErrorException
        Your request is invalid.
@sample AmazonMTurk.DeleteQualificationType
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DeleteQualificationType"
     target="_top">AWS API Documentation</a>
aws-java-sdk-mechanicalturkrequester/src/main/java/com/amazonaws/services/mturk/AmazonMTurkClient.java