static void autoRestartModule(fS moduleVar, fS programID, final bool callMain) { doLater_daemon(5000, new Runnable { S localMD5; public void run() { S newMD5 = loadPageSilently("http://botcompany.de/1010693/raw?id=" + psI(programID)); if (!isMD5(newMD5)) ret; if (localMD5 == null) localMD5 = md5(loadCachedTranspilation(programID)); S localMD5 = autoRestart_localMD5(); if (neq(localMD5, newMD5)) { S name = snippetWithTitle(programID); infoBox("Upgrading module " + name); O module = get(mc(), moduleVar); cleanUp(module); set(mc(), moduleVar, null); module = hotwire(programID); if (callMain) callMain(module); set(mc(), moduleVar, module); infoBox("Upgraded module " + name); } } }); }