static L conceptBackupFiles(S progID) { Pattern pat = Pattern.compile("^(.*)\\.backup(20\\d\\d)(\\d\\d)(\\d\\d)-(\\d\\d)$"); File dir = programDir(progID); new L l; for (File f : listFilesNotDirs(dir, newFile(dir, "backups"))) { S s = f.getName(); Matcher matcher = pat.matcher(s); continue unless matcher.find(); S originalName = matcher.group(1); continue unless eq(originalName, "concepts.structure.gz"); l.add(f); } ret l; }