// assumes frame is supposed to be visible right now svoid waitForFrameClose(JComponent c) { JFrame f = getFrame(c); if (f == null) ret; new Flag flag; new CloseablesHolder closer; swing { if (!isShowing(f)) flag.raise(); else closer.add(tempOnFrameClose(f, flag)); } temp closer; flag.waitUntilUp(); }