code: public Future<UpdateItemResult> updateItemAsync(
              final UpdateItemRequest updateItemRequest,
              final AsyncHandler<UpdateItemRequest, UpdateItemResult> asyncHandler)
                      throws AmazonServiceException, AmazonClientException {
          return executorService.submit(new Callable<UpdateItemResult>() {
              public UpdateItemResult call() throws Exception {
              	UpdateItemResult result;
                  try {
              		result = updateItem(updateItemRequest);
              	} catch (Exception ex) {
              	    asyncHandler.onError(ex);
      				throw ex;
              	}
              	asyncHandler.onSuccess(updateItemRequest, result);
                 	return result;
  		    }
  		});
      }
docs: <p>
  Edits an existing item's attributes.
  </p>
  <p>
  You can perform a conditional update (insert a new attribute
  name-value pair if it doesn't exist, or replace an existing name-value
  pair if it has certain expected attribute values).
  </p>
  
  @param updateItemRequest Container for the necessary parameters to
  execute the UpdateItem operation on AmazonDynamoDB.
  @param asyncHandler Asynchronous callback handler for events in the
  life-cycle of the request. Users could provide the implementation of
  the four callback methods in this interface to process the operation
  result or handle the exception.
  
  @return A Java Future object containing the response from the
  UpdateItem service method, as returned by AmazonDynamoDB.
  
  @throws AmazonClientException
  If any internal errors are encountered inside the client while
  attempting to make the request or handle the response.  For example
  if a network connection is not available.
  @throws AmazonServiceException
  If an error response is returned by AmazonDynamoDB indicating
  either a problem with the data in the request, or a server side issue.