Index: /applications/editors/josm/plugins/FixAddresses/build.xml
===================================================================
--- /applications/editors/josm/plugins/FixAddresses/build.xml	(revision 34510)
+++ /applications/editors/josm/plugins/FixAddresses/build.xml	(revision 34511)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="[josm_fixadresses]: Fixes #josm8336"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="12840"/>
+    <property name="plugin.main.version" value="14153"/>
 	
     <!-- Configure these properties (replace "..." accordingly).
Index: /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/AddressEditContainer.java
===================================================================
--- /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/AddressEditContainer.java	(revision 34510)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/AddressEditContainer.java	(revision 34511)
@@ -9,5 +9,4 @@
 import java.util.List;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -26,4 +25,5 @@
 import org.openstreetmap.josm.data.osm.visitor.OsmPrimitiveVisitor;
 import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.gui.layer.MainLayerManager;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 
@@ -480,5 +480,5 @@
      * Rebuilds the street and address lists using the data set given
      * in  {@link AddressEditContainer#attachToDataSet(Collection)} or the
-     * full data set of the current data layer {@link Main#getCurrentDataSet()}.
+     * full data set of the current data layer {@link MainLayerManager#getEditDataSet()}.
      */
     public void invalidate() {
@@ -579,5 +579,5 @@
      */
     public void detachFromDataSet() {
-        //Main.main.getCurrentDataSet().removeDataSetListener(this);
+        //getCurrentDataSet().removeDataSetListener(this);
         if (workingSet != null) {
             workingSet.clear();
Index: /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPreferences.java
===================================================================
--- /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPreferences.java	(revision 34510)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPreferences.java	(revision 34511)
@@ -7,9 +7,9 @@
 import javax.swing.JCheckBox;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
 import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
+import org.openstreetmap.josm.spi.preferences.Config;
 
 public final class FixAddressesPreferences extends DefaultTabPreferenceSetting {
@@ -42,6 +42,6 @@
      */
     private void loadFromPrefs() {
-        setSelectGuessedObjects(Main.pref.getBoolean(FIX_ADDRESSES_SELECT_GUESSED_OBJECTS_KEY, false));
-        setIgnorePostCode(Main.pref.getBoolean(FIX_ADDRESSES_IGNORE_POST_CODE_KEY, false));
+        setSelectGuessedObjects(Config.getPref().getBoolean(FIX_ADDRESSES_SELECT_GUESSED_OBJECTS_KEY, false));
+        setIgnorePostCode(Config.getPref().getBoolean(FIX_ADDRESSES_IGNORE_POST_CODE_KEY, false));
     }
 
@@ -50,6 +50,6 @@
      */
     private void saveToPrefs() {
-        Main.pref.putBoolean(FIX_ADDRESSES_SELECT_GUESSED_OBJECTS_KEY, isSelectGuessedObjects());
-        Main.pref.putBoolean(FIX_ADDRESSES_IGNORE_POST_CODE_KEY, isIgnorePostCode());
+        Config.getPref().putBoolean(FIX_ADDRESSES_SELECT_GUESSED_OBJECTS_KEY, isSelectGuessedObjects());
+        Config.getPref().putBoolean(FIX_ADDRESSES_IGNORE_POST_CODE_KEY, isIgnorePostCode());
     }
 
Index: /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixUnresolvedStreetsAction.java
===================================================================
--- /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixUnresolvedStreetsAction.java	(revision 34510)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixUnresolvedStreetsAction.java	(revision 34511)
@@ -9,7 +9,7 @@
 
 import org.openstreetmap.josm.actions.JosmAction;
-import org.openstreetmap.josm.data.SelectionChangedListener;
-import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.DataSelectionListener;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
 import org.openstreetmap.josm.plugins.fixAddresses.gui.AddressEditDialog;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -21,6 +21,5 @@
  * @author Oliver Wieland &lt;oliver.wieland@online.de>
  */
-@SuppressWarnings("serial")
-public class FixUnresolvedStreetsAction extends JosmAction implements SelectionChangedListener {
+public class FixUnresolvedStreetsAction extends JosmAction implements DataSelectionListener {
     private AddressEditContainer addressEditContainer;
     private Collection<? extends OsmPrimitive> newSelection;
@@ -34,11 +33,11 @@
         setEnabled(false);
         addressEditContainer = new AddressEditContainer();
-        DataSet.addSelectionListener(this);
+        SelectionEventManager.getInstance().addSelectionListener(this);
     }
 
     @Override
-    public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
+    public void selectionChanged(SelectionChangeEvent event) {
         /* remember new selection for actionPerformed */
-        this.newSelection = newSelection;
+        this.newSelection = event.getSelection();
     }
 
Index: /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/AddressEditDialog.java
===================================================================
--- /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/AddressEditDialog.java	(revision 34510)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/AddressEditDialog.java	(revision 34511)
@@ -34,7 +34,7 @@
 import org.openstreetmap.gui.jmapviewer.JMapViewer;
 import org.openstreetmap.gui.jmapviewer.MapMarkerDot;
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer;
@@ -48,4 +48,5 @@
 import org.openstreetmap.josm.plugins.fixAddresses.gui.actions.ApplyAllGuessesAction;
 import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.Logging;
 
 @SuppressWarnings("serial")
@@ -76,5 +77,5 @@
 
     public AddressEditDialog(AddressEditContainer addressEditContainer) throws HeadlessException {
-        super(JOptionPane.getFrameForComponent(Main.parent), tr("Fix unresolved addresses"), false);
+        super(JOptionPane.getFrameForComponent(MainApplication.getMainFrame()), tr("Fix unresolved addresses"), false);
 
         this.editContainer = addressEditContainer;
@@ -155,5 +156,5 @@
                 unresolvedPanel.add(unresolvedButtons, BorderLayout.SOUTH);
             } catch (Exception e) {
-                e.printStackTrace();
+                Logging.error(e);
             }
 
Index: /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/actions/AbstractAddressEditAction.java
===================================================================
--- /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/actions/AbstractAddressEditAction.java	(revision 34510)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/actions/AbstractAddressEditAction.java	(revision 34511)
@@ -6,8 +6,8 @@
 import java.util.List;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer;
 import org.openstreetmap.josm.plugins.fixAddresses.IAddressEditContainerListener;
@@ -172,5 +172,5 @@
         // execute the commands
         if (!commands.isEmpty()) {
-            Main.main.undoRedo.add(new SequenceCommand(txName, commands));
+            UndoRedoHandler.getInstance().add(new SequenceCommand(txName, commands));
             commands.clear();
             if (container != null) {
