}
private UploadResult uploadInMultipleParts(final String accountId, final String vaultName, final String archiveDescription, final File file) {
long partSize = calculatePartSize(file.length());
String partSizeString = Long.toString(partSize);
InitiateMultipartUploadResult initiateResult = glacier.initiateMultipartUpload(new InitiateMultipartUploadRequest()
.withAccountId(accountId)
.withArchiveDescription(archiveDescription)
.withVaultName(vaultName)
.withPartSize(partSizeString));
String uploadId = initiateResult.getUploadId();
try {
List<byte[]> binaryChecksums = new LinkedList<byte[]>();
long currentPosition = 0;