static void saveLocally(S variableName) { saveLocally(programID(), variableName); } static void saveLocally(S progID, S variableName) { saveLocally2(mc(), progID, variableName); } static void saveLocally2(O obj, S variableName) { saveLocally2(obj, programID(), variableName); } static synchronized void saveLocally2(O obj, S progID, S variableName) { File textFile = new File(programDir(progID), variableName + ".text"); File structureFile = new File(programDir(progID), variableName + ".structure"); O x = get(obj, variableName); if (x == null) { textFile.delete(); structureFile.delete(); } else if (x instanceof String) { saveTextFile(textFile, (S) x); structureFile.delete(); } else { saveTextFile(structureFile, structure(x)); textFile.delete(); } }