Request<Void> request = createRequest(bucketName, key, getObjectMetadataRequest, HttpMethodName.HEAD);
if (versionId != null) request.addParameter("versionId", versionId);
signRequest(request, bucketName, key);
S3MetadataResponseHandler responseHandler = new S3MetadataResponseHandler();
ExecutionContext executionContext = new ExecutionContext(requestHandlers);
return (ObjectMetadata)client.execute(request, responseHandler, errorResponseHandler, executionContext);
}