private boolean isDownloadParallel(PresignedUrlDownloadRequest request, Long startByte, Long endByte,
                                       long partialObjectMaxSize) {
        return !configuration.isDisableParallelDownloads() && !(s3 instanceof AmazonS3Encryption)
               && !(s3 instanceof AmazonS3EncryptionV2)
               // Can't rely on set range as endbyte can be set to random number longer than actual size. This results in
               // making large number of partial requests even after the entire file is read from S3
               && request.getRange() == null
               // This is when SDK can compute the endByte through the object metadata
               && (startByte != null && endByte != null && endByte - startByte + 1 > partialObjectMaxSize);
    }
Returns a boolean value indicating if object can be downloaded in parallel
when using presigned url.
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/transfer/TransferManager.java