inputSubStream.reset();
String range = "bytes " + currentPosition + "-" + (currentPosition + length - 1) + "/*";
UploadMultipartPartRequest req = new UploadMultipartPartRequest().withChecksum(checksum)
.withBody(inputSubStream).withRange(range).withUploadId(uploadId).withVaultName(vaultName);
try {
UploadMultipartPartResult partResult = client.uploadMultipartPart(req);
log.info(String.format("Part %d/%d (%s) uploaded, checksum: %s", counter, total, range, partResult.getChecksum()));
completed = true;
binaryChecksums.add(binaryChecksum);
} catch (Exception e) {
failedException = e;
} finally {