sclass ScreenShooter implements AutoCloseable { transient L onNewImage = syncList(); // L transient BufferedImage latestImage; double interval = 1.0; transient java.util.Timer timer; bool verbose = true; bool enabled = true; ScreenShooter start(O... _) { /*IF0*/ O enter = optPar enter(_); timer = doEvery(interval, r { ret unless enabled; temp asAutoCloseable(callF(enter)); long time = sysNow(); latestImage = shootScreen2(); if (verbose) done2_always(time, "Screenshot"); pcallFAll(onNewImage, latestImage); vmBus_send newScreenShot(latestImage); }); this; } public void close() { dispose timer; } }