static Runnable rOnceAtATimeOnly(Runnable r) { if (r == null) null; new AtomicBool running; ret r { if (!running.compareAndSet(false, true)) ret; try { r.run(); } finally { running.set(false); } }; }