public void saveTracks(String folderToSave) {
        File folder = new File(folderToSave);
        boolean success = folder.mkdirs();
        System.out.println("created folder: " + folder.getAbsolutePath() + " " + (success ? "created" : ""));
        MyDownloadExecutor executor = new MyDownloadExecutor(nThreads);

        for (Track track : tracks) {
            String fileName = fixWindowsFileName(track.getFileName()) + ".mp3";
            File dest = new File(folder.getAbsolutePath() + "/" + fileName);
            if (!dest.exists() || dest.length() < MINIMUM_TRACK_SIZE) {
                executor.jobsCountInc();
                executor.execute(new Downloader(track.getUrl(), dest, executor));
                downloadedTracksCount++;
            } else {
                System.out.println(dest + " already exists");
            }
        }
        if (downloadedPhotosCount == 0) {
            executor.shutdown();
        }
        try {
            executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("All tracks try to download.");


    }