static L talkToVMsRunningProgram(S progID) { new L l; for (DialogIO io : talkToAllVMs()) pcall { bool close = true; try { S pID = io.ask("what is the main program id?"); if (sameSnippetID(pID, progID)) { close = false; l.add(io); } } finally { if (close) io.close(); } } ret l; }