static void disableButtonWhileCalcing2(final O /*F0*/ f) { final JButton button = heldInstance(JButton); disableButton(button); thread { try { bool ok = isTrue(callF(f)); if (ok) disposeWindow(button); } finally { enableButton(button); } } }