InputStream inputStream,
MD5DigestCalculatingInputStream md5DigestStream,
final ProgressListener listener) {
try {
request.setContent(inputStream);
ObjectMetadata metadata = invoke(request, new S3MetadataResponseHandler(), bucketName, key);
final String etag = metadata.getETag();
if (md5DigestStream != null
&& !ServiceUtils.skipContentMd5IntegrityCheck(metadata)) {
byte[] clientSideHash = md5DigestStream.getMd5Digest();