svoid dm_action(fS desc, final Runnable r) { print(desc); runInterruptibly(voidfunc(final Runnable interrupt) { temp AutoCloseable action = dm_currentAction(desc, r { print("INTERRUPTED"); callF(interrupt) }); callF(r); }); } svoid dm_action(Runnable r) { dm_action(str(r), r); }