Index: trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 14121)
+++ trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 14122)
@@ -693,8 +693,5 @@
     }
 
-    /**
-     * Gets a map of all settings that are currently stored
-     * @return The settings
-     */
+    @Override
     public Map<String, Setting<?>> getAllSettings() {
         return new TreeMap<>(settingsMap);
Index: trunk/src/org/openstreetmap/josm/spi/preferences/AbstractPreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/spi/preferences/AbstractPreferences.java	(revision 14121)
+++ trunk/src/org/openstreetmap/josm/spi/preferences/AbstractPreferences.java	(revision 14122)
@@ -124,4 +124,10 @@
 
     /**
+     * Gets a map of all settings that are currently stored
+     * @return The settings
+     */
+    public abstract Map<String, Setting<?>> getAllSettings();
+
+    /**
      * Set a value for a certain setting. The changed setting is saved to the preference file immediately.
      * Due to caching mechanisms on modern operating systems and hardware, this shouldn't be a performance problem.
Index: trunk/src/org/openstreetmap/josm/spi/preferences/MemoryPreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/spi/preferences/MemoryPreferences.java	(revision 14121)
+++ trunk/src/org/openstreetmap/josm/spi/preferences/MemoryPreferences.java	(revision 14122)
@@ -7,4 +7,5 @@
 import java.util.Objects;
 import java.util.Set;
+import java.util.TreeMap;
 
 /**
@@ -22,5 +23,5 @@
     @Override
     public boolean putSetting(String key, Setting<?> setting) {
-        Setting current = settings.get(key);
+        Setting<?> current = settings.get(key);
         if (setting == null) {
             settings.remove(key);
@@ -33,5 +34,5 @@
     @Override
     public <T extends Setting<?>> T getSetting(String key, T def, Class<T> klass) {
-        Setting current = settings.get(key);
+        Setting<?> current = settings.get(key);
         if (current != null && klass.isInstance(current)) {
             @SuppressWarnings("unchecked")
@@ -45,4 +46,9 @@
     public Set<String> getKeySet() {
         return Collections.unmodifiableSet(settings.keySet());
+    }
+
+    @Override
+    public Map<String, Setting<?>> getAllSettings() {
+        return new TreeMap<>(settings);
     }
 
@@ -66,4 +72,3 @@
         // do nothing
     }
-
 }
