private void prepare(
      DownloadCheckPoint downloadCheckPoint, DownloadFileRequest downloadFileRequest)
      throws IOException {
    downloadCheckPoint.magic = DownloadCheckPoint.DOWNLOAD_MAGIC;
    downloadCheckPoint.downloadFile = downloadFileRequest.getDownloadFile();
    downloadCheckPoint.bucketName = downloadFileRequest.getBucketName();
    downloadCheckPoint.objectKey = downloadFileRequest.getKey();
    downloadCheckPoint.objectStat =
        ObjectStat.getFileStat(
            objectOperation, downloadCheckPoint.bucketName, downloadCheckPoint.objectKey);
    downloadCheckPoint.downloadParts =
        splitFile(downloadCheckPoint.objectStat.size, downloadFileRequest.getPartSize());

    createFixedFile(downloadFileRequest.getDownloadFile(), downloadCheckPoint.objectStat.size);
  }