private void doSave(final String path) throws UserCancelException { checkWithUserBeforeSavingModelFromOldVersion(); Saver saver = new Saver(path); org.nlogo.swing.ModalProgressTask.apply( org.nlogo.awt.Hierarchy.getFrame(this), "Saving...", saver); if (saver.getException() != null) { javax.swing.JOptionPane.showMessageDialog( this, "Save failed. Error: " + saver.getException().getMessage(), "NetLogo", javax.swing.JOptionPane.ERROR_MESSAGE); } if (!saver.getResult()) { throw new UserCancelException(); } app.tabs().saveExternalFiles(); }