@SdkInternalApi
    final UpdateLFTagResult executeUpdateLFTag(UpdateLFTagRequest updateLFTagRequest) {

        ExecutionContext executionContext = createExecutionContext(updateLFTagRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<UpdateLFTagRequest> request = null;
        Response<UpdateLFTagResult> response = null;

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

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Updates the list of possible values for the specified LF-tag key. If the LF-tag does not exist, the operation
throws an EntityNotFoundException. The values in the delete key values will be deleted from list of possible
values. If any value in the delete key values is attached to a resource, then API errors out with a 400 Exception
- "Update not allowed". Untag the attribute before deleting the LF-tag key's value.
</p>

@param updateLFTagRequest
@return Result of the UpdateLFTag operation returned by the service.
@throws EntityNotFoundException
        A specified entity does not exist.
@throws InvalidInputException
        The input provided was not valid.
@throws InternalServiceException
        An internal service error occurred.
@throws OperationTimeoutException
        The operation timed out.
@throws ConcurrentModificationException
        Two processes are trying to modify a resource simultaneously.
@throws AccessDeniedException
        Access to a resource was denied.
@sample AWSLakeFormation.UpdateLFTag
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag" target="_top">AWS API
     Documentation</a>
aws-java-sdk-lakeformation/src/main/java/com/amazonaws/services/lakeformation/AWSLakeFormationClient.java