@Override
        public void windowOpened(WindowEvent e) {
          Window window = e.getWindow();
          application.invokeLater(action, ModalityState.stateForComponent(window));
          window.removeWindowListener(this);
        }
@Override
        public void windowOpened(WindowEvent e)