static ActionListener actionListener(fO runnable) { ret actionListener(runnable, null); } static ActionListener actionListener(fO runnable, fO instanceToHold) { if (runnable instanceof ActionListener) ret (ActionListener) runnable; fO info = _threadInfo(); ret actionListener { _threadInheritInfo(info); temp holdInstance(instanceToHold); pcallF(runnable); }; }