public void save(String preferencesKey) throws BackingStoreException {
        Preferences prefs = Preferences.userRoot().node(preferencesKey);

        // Clear any previous settings set before saving, this will
        // purge any other parameters set in older versions of the app, so
        // that they don't leak onto the AppSettings of newer versions.
        prefs.clear();

        for (String key : keySet()) {
            Object val = get(key);
            if (val instanceof Integer) {
                prefs.putInt("I_" + key, (Integer) val);
            } else if (val instanceof Float) {
                prefs.putFloat("F_" + key, (Float) val);
            } else if (val instanceof String) {
                prefs.put("S_" + key, (String) val);
            } else if (val instanceof Boolean) {
                prefs.putBoolean("B_" + key, (Boolean) val);
            }
            // NOTE: Ignore any parameters of unsupported types instead
            // of throwing exception. This is specifically for handling
            // BufferedImage which is used in setIcons(), as you do not
            // want to export such data in the preferences.
        }

        // Ensure the data is properly written into preferences before
        // continuing.
        prefs.sync();
    }
Saves settings into the Java preferences.
<p>
On the Windows operating system, the preferences are saved in the registry
at the following key:<br>
<code>HKEY_CURRENT_USER\Software\JavaSoft\Prefs\[preferencesKey]</code>

@param preferencesKey The preferences key to save at. Generally the
application's unique name.

@throws BackingStoreException If an exception occurs with the preferences
jme3-core/src/main/java/com/jme3/system/AppSettings.java