@Override public void run() { try { final JDialog configDialog = TwsListener.getConfigDialog(); // blocks the thread until the config dialog is available GuiExecutor.instance() .execute( new Runnable() { @Override public void run() { configure( configDialog, mPortNumber, mApiEnable, mApiReadOnly, mApiBypassPrecautions); } }); } catch (Exception e) { Utils.logError("" + e.getMessage()); } }