class ConfigurationContext extends GraphicalContext<BorderPane> {

    static void setupNewMusicFolder(File gazePlayMusicFolder, String defaultSong) {
        // Copy resource into users root folder, and set that to be the new default music folder. Then the user
        // can easily add their own songs to it without having to change configurations.

        if (!gazePlayMusicFolder.exists()) {
            boolean musicFolderCreated = gazePlayMusicFolder.mkdir();
            log.debug("musicFolderCreated = " + musicFolderCreated);
        }

        String resourcePath = "data/home/sounds/" + defaultSong;

        try {
            InputStream defaultMusicTrack = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath);
            if (gazePlayMusicFolder.exists()) {
                Files.copy(defaultMusicTrack,
                    Paths.get(new File(gazePlayMusicFolder, defaultSong).getAbsolutePath()),
                    StandardCopyOption.REPLACE_EXISTING);
            }
        } catch (NullPointerException ne) {
            log.debug(String.format("Could not find %s: %s", resourcePath, ne.toString()));
        } catch (IOException ie) {
            log.debug(String.format("Could not copy file at %s to %s: %s", resourcePath, gazePlayMusicFolder, ie.toString()));
        }
    }

      ConfigurationContext(GazePlay gazePlay);

}