public Upload resumeUpload(PersistableUpload persistableUpload) {
        assertParameterNotNull(persistableUpload,
                "PauseUpload is mandatory to resume a upload.");

        assertNotObjectLambdaArn(persistableUpload.getBucketName(), "resumeUpload");

        configuration.setMinimumUploadPartSize(persistableUpload.getPartSize());
        configuration.setMultipartUploadThreshold(persistableUpload
                .getMutlipartUploadThreshold());
        return doUpload(new PutObjectRequest(persistableUpload.getBucketName(),
                persistableUpload.getKey(), new File(persistableUpload.getFile())), null, null,
                persistableUpload);
    }
Resumes an upload operation. This upload operation uses the same
configuration {@link TransferManagerConfiguration} as the original
upload. Any data already uploaded will be skipped, and only the remaining
will be uploaded to Amazon S3.

@param persistableUpload
           the upload to resume.
@return A new <code>Upload</code> object to use to check the state of the
        upload, listen for progress notifications, and otherwise manage
        the upload.

@throws AmazonClientException
            If any errors are encountered in the client while making the
            request or handling the response.
@throws AmazonServiceException
            If any errors occurred in Amazon S3 while processing the
            request.
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/transfer/TransferManager.java