static ReliableSingleThread rstWithPreDelay(int delay, Runnable r) { ret rstWithDelay(delay, r); } static ReliableSingleThread rstWithPreDelay(double seconds, Runnable r) { ret rstWithDelay(seconds, r); } static RSTOverQ rstWithPreDelay(double seconds, Q q, Runnable r) { ret RSTOverQ(q, new Runnable { run { print ifdef rstWithPreDelay_debug("Sleeping " + seconds); sleepSeconds(seconds); print ifdef rstWithPreDelay_debug("Calling " + r); callF(r); print ifdef rstWithPreDelay_debug("Called " + r); } toString { ret "Sleep " + seconds + "s, then: " + r; } }); }