static O readPersistentVarFromOtherProgram(S progID, S variableName) ctex { bool allDynamic = false; File textFile = programFile(progID, variableName + ".text"); S value = loadTextFile(textFile); if (value != null) ret value; File structureFile = programFile(progID, variableName + ".structure"); value = loadTextFile(structureFile); if (nempty(value)) ret allDynamic ? safeUnstructure(value) : unstructure(value); File structureGZFile = programFile(progID, variableName + ".structure.gz"); if (!structureGZFile.isFile()) null; InputStream fis = new FileInputStream(structureGZFile); try { GZIPInputStream gis = newGZIPInputStream(fis); InputStreamReader reader = new InputStreamReader(gis, "UTF-8"); BufferedReader bufferedReader = new BufferedReader(reader); ret unstructure_tok(javaTokC_noMLS_onReader(bufferedReader), allDynamic, null); } finally { fis.close(); } }