private static String packOrderList(List orderList) {
   StringBuffer buf = new StringBuffer();
   for (int i = 0; i < orderList.size(); i++) {
     ImportOrderEntry entry = (ImportOrderEntry) orderList.get(i);
     buf.append(entry.serialize());
     buf.append(';');
   }
   return buf.toString();
 }
  private void saveImportOrder(List elements) {
    IDialogSettings dialogSettings = JavaScriptPlugin.getDefault().getDialogSettings();

    FileDialog dialog = new FileDialog(getShell(), SWT.SAVE);
    dialog.setText(PreferencesMessages.ImportOrganizeConfigurationBlock_saveDialog_title);
    dialog.setFilterExtensions(new String[] {"*.importorder", "*.*"}); // $NON-NLS-1$ //$NON-NLS-2$
    dialog.setFileName("example.importorder"); // $NON-NLS-1$
    String lastPath = dialogSettings.get(DIALOGSETTING_LASTSAVEPATH);
    if (lastPath != null) {
      dialog.setFilterPath(lastPath);
    }
    String fileName = dialog.open();
    if (fileName != null) {
      dialogSettings.put(DIALOGSETTING_LASTSAVEPATH, dialog.getFilterPath());

      Properties properties = new Properties();
      for (int i = 0; i < elements.size(); i++) {
        ImportOrderEntry entry = (ImportOrderEntry) elements.get(i);
        properties.setProperty(String.valueOf(i), entry.serialize());
      }
      FileOutputStream fos = null;
      try {
        fos = new FileOutputStream(fileName);
        properties.store(fos, "Organize Import Order"); // $NON-NLS-1$
      } catch (IOException e) {
        JavaScriptPlugin.log(e);
        String title = PreferencesMessages.ImportOrganizeConfigurationBlock_saveDialog_error_title;
        String message =
            PreferencesMessages.ImportOrganizeConfigurationBlock_saveDialog_error_message;
        MessageDialog.openError(getShell(), title, message);
      } finally {
        if (fos != null) {
          try {
            fos.close();
          } catch (IOException e) {
          }
        }
      }
    }
  }