static void backupAndCleanProgramDir(S progID) { progID = formatSnippetID(progID); File dir = getProgramDir(progID); if (!dir.exists()) return; File backupDir; long date; do { date = now(); backupDir = new File(userHome(), "JavaX-Backup/" + progID + "/" + date); } while (backupDir.exists()); mkdirsForFile(backupDir); dir.renameTo(backupDir); print("Moved " + dir.getAbsolutePath() + " to " + backupDir.getAbsolutePath()); }