private static void saveModel(GuiQuickstartDataModel model) {
   Preferences preferences = Preferences.userNodeForPackage(GuiBootstrapMain.class);
   updatePreferences(preferences, "transitDataBundlePath", model.getTransitDataBundlePath());
   updatePreferences(preferences, "gtfsPath", model.getGtfsPath());
   updatePreferences(preferences, "tripUpdatesUrl", model.getTripUpdatesUrl());
   updatePreferences(preferences, "vehiclePositionsUrl", model.getVehiclePositionsUrl());
   updatePreferences(preferences, "alertsUrl", model.getAlertsUrl());
   try {
     preferences.sync();
   } catch (BackingStoreException e) {
     e.printStackTrace();
   }
 }
  public static GuiQuickstartDataModel configureBootstrapArgs() throws IOException, Exception {

    final GuiQuickstartDataModel model = new GuiQuickstartDataModel();
    loadModel(model);

    WizardController controller = new WizardController();
    controller.addPanel(WelcomeWizardPanelController.class, new WelcomeWizardPanelController());
    controller.addPanel(
        TransitDataBundlePathWizardPanelController.class,
        new TransitDataBundlePathWizardPanelController(model, controller));
    controller.addPanel(
        QuickStartTypeWizardPanelController.class, new QuickStartTypeWizardPanelController(model));
    controller.addPanel(
        GtfsPathWizardPanelController.class, new GtfsPathWizardPanelController(model, controller));
    controller.addPanel(
        GtfsRealtimePathsWizardPanelController.class,
        new GtfsRealtimePathsWizardPanelController(model));
    controller.addPanel(RunWizardPanelController.class, new RunWizardPanelController(model));
    controller.setCurrentPanel(WelcomeWizardPanelController.class);

    WizardDialog dialog = new WizardDialog(controller);
    dialog.setModal(true);
    dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    dialog.setVisible(true);

    saveModel(model);

    if (controller.getCompletionState() == ECompletionState.CANCELLED) System.exit(0);

    String path = model.getTransitDataBundlePath();
    new File(path).mkdirs();

    JConsoleDialog console = new JConsoleDialog(new File(path, "console.log").getAbsolutePath());
    console.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    console.setVisible(true);

    return model;
  }