static ActionListener actionListenerInNewThread(fO runnable) { ret actionListenerInNewThread(runnable, null); } static ActionListener actionListenerInNewThread(fO runnable, fO instanceToHold) { if (runnable instanceof ActionListener) ret (ActionListener) runnable; ret actionListener { thread "Action Listener" { temp holdInstance(instanceToHold); callF(runnable); } }; }