static ActionListener actionListenerInNewThread(fO runnable) { ret actionListenerInNewThread(runnable, null); } static ActionListener actionListener(fO runnable, fO instanceToHold) { if (runnable instanceof ActionListener) ret (ActionListener) runnable; ret actionListener { temp holdInstance(instanceToHold); callFInNewThread(runnable); }; }