static Runnable buttonActionWithPreAndPost(Runnable r, IVF1 pre, IVF1 post) { ret -> { JButton button = heldInstance(JButton); pre?.get(button); thread { pcallF(r); post?.get(button); } }; }