public Thread newThread(Runnable r) {
            int threadNumber = threadCount.incrementAndGet();
            Thread thread = new Thread(r);
            thread.setDaemon(true);
            thread.setName("S3TransferManagerTimedThread-" + threadNumber);
            return thread;
        }
There is no need for threads from timedThreadPool if there is no more running threads in current process,
so we need a daemon thread factory for it.
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/transfer/TransferManager.java