private void saveI18N() {
    String i18nFilename = getI18NFilename();

    I18NUtils.deleteUnusedKeys(this);

    try {
      FileOutputStream os = new FileOutputStream(i18nFilename);
      Writer out = new OutputStreamWriter(os, "ISO-8859-1");
      i18n.store(out, filename);
    } catch (IOException e) {
      EngineLogger.error("ERROR WRITING BUNDLE: " + i18nFilename);
    }
  }
  @SuppressWarnings("serial")
  private void loadI18N() {
    String i18nFilename = getI18NFilename();

    // To save in alphabetical order we override the keys method
    i18n =
        new Properties() {
          @Override
          public synchronized Enumeration<Object> keys() {
            return Collections.enumeration(new TreeSet<Object>(keySet()));
          }
        };

    try {
      i18n.load(new FileInputStream(i18nFilename));
    } catch (IOException e) {
      EngineLogger.error("ERROR LOADING BUNDLE: " + i18nFilename);
    }
  }