Index: /trunk/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java	(revision 9621)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java	(revision 9622)
@@ -72,4 +72,21 @@
     private PreferencesTable table;
 
+    private final Map<String, String> profileTypes = new LinkedHashMap<>();
+
+    private final Comparator<PrefEntry> customComparator = new Comparator<PrefEntry>() {
+        @Override
+        public int compare(PrefEntry o1, PrefEntry o2) {
+            if (o1.isChanged() && !o2.isChanged())
+                return -1;
+            if (o2.isChanged() && !o1.isChanged())
+                return 1;
+            if (!(o1.isDefault()) && o2.isDefault())
+                return -1;
+            if (!(o2.isDefault()) && o1.isDefault())
+                return 1;
+            return o1.compareTo(o2);
+        }
+    };
+
     private AdvancedPreference() {
         super(/* ICON(preferences/) */ "advanced", tr("Advanced Preferences"), tr("Setting Preference entries directly. Use with caution!"));
@@ -136,6 +153,6 @@
         edit.addActionListener(new ActionListener() {
             @Override public void actionPerformed(ActionEvent e) {
-                boolean ok = table.editPreference(gui);
-                if (ok) applyFilter();
+                if (table.editPreference(gui))
+                    applyFilter();
             }
         });
@@ -211,5 +228,6 @@
         if (fc != null) {
             File[] sel = fc.isMultiSelectionEnabled() ? fc.getSelectedFiles() : (new File[]{fc.getSelectedFile()});
-            if (sel.length == 1 && !sel[0].getName().contains(".")) sel[0] = new File(sel[0].getAbsolutePath()+".xml");
+            if (sel.length == 1 && !sel[0].getName().contains("."))
+                sel[0] = new File(sel[0].getAbsolutePath()+".xml");
             return sel;
         }
@@ -254,5 +272,6 @@
     private void readPreferencesFromXML() {
         File[] files = askUserForCustomSettingsFiles(false, tr("Open JOSM customization file"));
-        if (files.length == 0) return;
+        if (files.length == 0)
+            return;
 
         Preferences tmpPrefs = CustomConfigurator.clonePreferences(Main.pref);
@@ -276,15 +295,4 @@
         applyFilter();
     }
-
-    private final Comparator<PrefEntry> customComparator = new Comparator<PrefEntry>() {
-        @Override
-        public int compare(PrefEntry o1, PrefEntry o2) {
-            if (o1.isChanged() && !o2.isChanged()) return -1;
-            if (o2.isChanged() && !o1.isChanged()) return 1;
-            if (!(o1.isDefault()) && o2.isDefault()) return -1;
-            if (!(o2.isDefault()) && o1.isDefault()) return 1;
-            return o1.compareTo(o2);
-        }
-    };
 
     private List<PrefEntry> prepareData(Map<String, Setting<?>> loaded, Map<String, Setting<?>> orig, Map<String, Setting<?>> defaults) {
@@ -320,6 +328,4 @@
         return data;
     }
-
-    private final Map<String, String> profileTypes = new LinkedHashMap<>();
 
     private JPopupMenu buildPopupMenu() {
@@ -459,5 +465,6 @@
             }
         }
-        if (table != null) table.fireDataChanged();
+        if (table != null)
+            table.fireDataChanged();
     }
 
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new AdvancedPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link AdvancedPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new AdvancedPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/audio/AudioPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/audio/AudioPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/audio/AudioPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new AudioPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link AudioPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new AudioPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/ColorPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/ColorPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/ColorPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ColorPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ColorPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ColorPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/DisplayPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/DisplayPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/DisplayPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new DisplayPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link DisplayPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new DisplayPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/DrawingPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/DrawingPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/DrawingPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new DrawingPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link DrawingPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new DrawingPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/LafPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/LafPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/LafPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new LafPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link LafPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new LafPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/LanguagePreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/LanguagePreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/display/LanguagePreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new LanguagePreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link LanguagePreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new LanguagePreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ImageryPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ImageryPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ImageryPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/BackupPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/BackupPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/BackupPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new BackupPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link BackupPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new BackupPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new MapPaintPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link MapPaintPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new MapPaintPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new MapPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link MapPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new MapPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new TaggingPresetPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link TaggingPresetPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new TaggingPresetPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/projection/ProjectionPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/projection/ProjectionPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/projection/ProjectionPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ProjectionPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ProjectionPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ProjectionPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/remotecontrol/RemoteControlPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/remotecontrol/RemoteControlPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/remotecontrol/RemoteControlPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new RemoteControlPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link RemoteControlPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new RemoteControlPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/AuthenticationPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/AuthenticationPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/AuthenticationPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new AuthenticationPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link AuthenticationPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new AuthenticationPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new OverpassServerPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link OverpassServerPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new OverpassServerPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ProxyPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ProxyPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ProxyPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ProxyPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ProxyPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ProxyPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ServerAccessPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ServerAccessPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ServerAccessPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ServerAccessPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ServerAccessPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ServerAccessPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/shortcut/ShortcutPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/shortcut/ShortcutPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/shortcut/ShortcutPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ShortcutPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ShortcutPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ShortcutPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ValidatorPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ValidatorPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ValidatorPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorTestsPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorTestsPreferenceTest.java	(revision 9621)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorTestsPreferenceTest.java	(revision 9622)
@@ -7,4 +7,5 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 
 /**
@@ -28,3 +29,11 @@
         assertNotNull(new ValidatorTestsPreference.Factory().createPreferenceSetting());
     }
+
+    /**
+     * Unit test of {@link ValidatorTestsPreference#addGui}.
+     */
+    @Test
+    public void testAddGui() {
+        new ValidatorTestsPreference.Factory().createPreferenceSetting().addGui(new PreferenceTabbedPane());
+    }
 }
