// keeps file open static SS zipFileSnippetToLazyTextMap(S snippetID) { final ZipFile zip = new ZipFile(loadLibrary(snippetID)); O f = func(S name) { loadTextFileFromZipFile(zip, name) }; ret new LazyValueTreeMap(listFilesInZip(f), f) { void cleanMeUp { zip.close(); } }; }