Index: applications/editors/josm/plugins/czechaddress/.classpath
===================================================================
--- applications/editors/josm/plugins/czechaddress/.classpath	(revision 16601)
+++ applications/editors/josm/plugins/czechaddress/.classpath	(revision 16601)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JDK 6"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
Index: applications/editors/josm/plugins/czechaddress/.project
===================================================================
--- applications/editors/josm/plugins/czechaddress/.project	(revision 16601)
+++ applications/editors/josm/plugins/czechaddress/.project	(revision 16601)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JOSM-czechaddress</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: applications/editors/josm/plugins/czechaddress/.settings/org.eclipse.core.resources.prefs
===================================================================
--- applications/editors/josm/plugins/czechaddress/.settings/org.eclipse.core.resources.prefs	(revision 16601)
+++ applications/editors/josm/plugins/czechaddress/.settings/org.eclipse.core.resources.prefs	(revision 16601)
@@ -0,0 +1,4 @@
+#Mon Jul 20 22:01:52 CEST 2009
+eclipse.preferences.version=1
+encoding//src/org/openstreetmap/josm/plugins/czechaddress/StringUtils.java=UTF-8
+encoding//src/org/openstreetmap/josm/plugins/czechaddress/gui/LocationSelector.java=UTF-8
Index: applications/editors/josm/plugins/czechaddress/build.xml
===================================================================
--- applications/editors/josm/plugins/czechaddress/build.xml	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/build.xml	(revision 16601)
@@ -36,4 +36,5 @@
                classpath="${josm}"
                debug="true"
+	       encoding="utf8"
                destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
@@ -51,5 +52,5 @@
             <attribute name="Plugin-Description" value="Creating and handling address nodes and buildings within Czech Republic."/>
             <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/Cz:JOSM/Plugins/CzechAddress"/>
-            <attribute name="Plugin-Mainversion" value="1722"/>
+            <attribute name="Plugin-Mainversion" value="1815"/>
             <!--<attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>-->
             <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/CzechAddressPlugin.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/CzechAddressPlugin.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/CzechAddressPlugin.java	(revision 16601)
@@ -13,4 +13,5 @@
 import java.util.logging.LogManager;
 import java.util.logging.Logger;
+
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
@@ -24,14 +25,13 @@
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.czechaddress.actions.ConflictResolveAction;
+import org.openstreetmap.josm.plugins.czechaddress.actions.FactoryAction;
 import org.openstreetmap.josm.plugins.czechaddress.actions.GroupManipulatorAction;
+import org.openstreetmap.josm.plugins.czechaddress.actions.HelpAction;
+import org.openstreetmap.josm.plugins.czechaddress.actions.ManagerAction;
 import org.openstreetmap.josm.plugins.czechaddress.actions.PointManipulatorAction;
+import org.openstreetmap.josm.plugins.czechaddress.actions.SplitAreaByEmptyWayAction;
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Database;
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.ElementWithStreets;
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.House;
-import org.openstreetmap.josm.plugins.czechaddress.parser.MvcrParser;
-import org.openstreetmap.josm.plugins.czechaddress.actions.FactoryAction;
-import org.openstreetmap.josm.plugins.czechaddress.actions.HelpAction;
-import org.openstreetmap.josm.plugins.czechaddress.actions.ManagerAction;
-import org.openstreetmap.josm.plugins.czechaddress.actions.SplitAreaByEmptyWayAction;
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Street;
 import org.openstreetmap.josm.plugins.czechaddress.gui.ConflictResolver;
@@ -41,8 +41,9 @@
 import org.openstreetmap.josm.plugins.czechaddress.intelligence.Reasoner;
 import org.openstreetmap.josm.plugins.czechaddress.intelligence.SelectionMonitor;
+import org.openstreetmap.josm.plugins.czechaddress.parser.MvcrParser;
 
 /**
  * Plugin for handling address nodes within the Czech Republic.
- * 
+ *
  * @author Radomír Černoch, radomir.cernoch@gmail.com
  */
@@ -72,5 +73,5 @@
                 Logger.getLogger(name).addHandler(fileHandler);
             }
-            
+
         } catch (IOException ex) {
             logger.log(Level.SEVERE, "cannot create file", ex);
@@ -89,5 +90,5 @@
 
         addStatusListener(this);
-        
+
         ConflictResolver.getInstance();
         SelectionMonitor.getInstance();
@@ -98,5 +99,5 @@
         assert assertionsEnabled = true;
         if (assertionsEnabled) initLoggers();
-        
+
         MainMenu.add(Main.main.menu.toolsMenu, new SplitAreaByEmptyWayAction());
 
@@ -129,5 +130,5 @@
         if (newFrame == null)
             return;
-        
+
         newFrame.addToggleDialog(FactoryDialog.getInstance());
         newFrame.addMapMode(new IconToggleButton(new FactoryAction(newFrame)));
@@ -146,5 +147,5 @@
                 reasoner.update(street);
 
-            for (OsmPrimitive prim : Main.ds.allPrimitives()) {
+            for (OsmPrimitive prim : Main.main.getCurrentDataSet().allPrimitives()) {
                 if (House.isMatchable(prim) || Street.isMatchable(prim))
                     reasoner.update(prim);
@@ -172,5 +173,5 @@
         }
     }
-    
+
     static private Set<StatusListener> listeners = new HashSet<StatusListener>();
     static public void addStatusListener(StatusListener l)    {listeners.add(l);}
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/MapUtils.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/MapUtils.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/MapUtils.java	(revision 16601)
@@ -2,4 +2,5 @@
 
 import java.util.Collection;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.AutoScaleAction;
@@ -21,5 +22,5 @@
      */
     public static void zoomToMany(Collection<OsmPrimitive> primitives) {
-        Main.ds.setSelected(primitives);
+        Main.main.getCurrentDataSet().setSelected(primitives);
         (new AutoScaleAction("selection")).actionPerformed(null);
     }
@@ -29,5 +30,5 @@
      */
     public static void zoomTo(OsmPrimitive primitive) {
-        Main.ds.setSelected(primitive);
+        Main.main.getCurrentDataSet().setSelected(primitive);
         (new AutoScaleAction("selection")).actionPerformed(null);
     }
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/FactoryAction.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/FactoryAction.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/FactoryAction.java	(revision 16601)
@@ -1,8 +1,8 @@
 package org.openstreetmap.josm.plugins.czechaddress.actions;
 
-import org.openstreetmap.josm.plugins.czechaddress.gui.FactoryDialog;
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.mapmode.MapMode;
@@ -11,4 +11,5 @@
 import org.openstreetmap.josm.plugins.czechaddress.Preferences;
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.House;
+import org.openstreetmap.josm.plugins.czechaddress.gui.FactoryDialog;
 import org.openstreetmap.josm.plugins.czechaddress.intelligence.Reasoner;
 import org.openstreetmap.josm.plugins.czechaddress.proposal.AddKeyValueProposal;
@@ -103,9 +104,9 @@
             r.closeTransaction();
         }
-        
+
         FactoryDialog.getInstance().selectionListenerActivated = false;
         FactoryDialog.getInstance().selectNextUnmatchedHouseByCheckBox();
-        Main.ds.addPrimitive(newNode);        
-        Main.ds.setSelected(newNode);
+        Main.main.getCurrentDataSet().addPrimitive(newNode);
+        Main.main.getCurrentDataSet().setSelected(newNode);
         FactoryDialog.getInstance().selectionListenerActivated = true;
     }
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/PointManipulatorAction.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/PointManipulatorAction.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/PointManipulatorAction.java	(revision 16601)
@@ -4,4 +4,5 @@
 import java.awt.event.KeyEvent;
 import java.util.Collection;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
@@ -42,5 +43,5 @@
      */
     public void actionPerformed(ActionEvent e) {
-        Collection<OsmPrimitive> data = Main.ds.getSelected();
+        Collection<OsmPrimitive> data = Main.main.getCurrentDataSet().getSelected();
 
         if (data.size() != 1) return;
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/SplitAreaByEmptyWayAction.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/SplitAreaByEmptyWayAction.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/actions/SplitAreaByEmptyWayAction.java	(revision 16601)
@@ -26,5 +26,5 @@
  * original area is a member of some relation, this action rejects to
  * preform the split.
- * 
+ *
  * @author Radomír Černoch, radomir.cernoch@gmail.com
  */
@@ -50,16 +50,16 @@
      */
     public void actionPerformed(ActionEvent e) {
-		
-        Collection<OsmPrimitive> selectedWays = Main.ds.getSelectedWays();
-        Collection<OsmPrimitive> newSelection = Main.ds.getSelected();
+
+        Collection<OsmPrimitive> selectedWays = Main.main.getCurrentDataSet().getSelectedWays();
+        Collection<OsmPrimitive> newSelection = Main.main.getCurrentDataSet().getSelected();
 
         for (OsmPrimitive prim : selectedWays) {
             if (!((Way) prim).isClosed()) continue;
                 Way area = (Way) prim;
-        		
-            for (OsmPrimitive prim2 : Main.ds.allNonDeletedPrimitives()) {
+
+            for (OsmPrimitive prim2 : Main.main.getCurrentDataSet().allNonDeletedPrimitives()) {
                 if (!(prim2 instanceof Way)) continue;
                 if (prim2.equals(prim))      continue;
-               	Way border = (Way) prim2;                		
+               	Way border = (Way) prim2;
                 if (border.nodes.size() == 0)   continue;
                 if (border.keySet().size() > 0) continue;
@@ -69,7 +69,7 @@
                 Way newArea1 = new Way();
                 Way newArea2 = new Way();
-	                		
+
                 int errorCode = splitArea(area, border, newArea1, newArea2);
-	                		
+
                 if (errorCode == 2) {
                     JOptionPane.showMessageDialog(Main.parent,
@@ -78,14 +78,14 @@
                     break;
                 }
-	                		
+
                 if (errorCode == 0) {
-                    Main.ds.addPrimitive(newArea1);
-                    Main.ds.addPrimitive(newArea2);
-	                        
+                    Main.main.getCurrentDataSet().addPrimitive(newArea1);
+                    Main.main.getCurrentDataSet().addPrimitive(newArea2);
+
                     area.delete(true);
                     border.delete(true);
                     newSelection.remove(area);
                     newSelection.remove(border);
-	                		
+
                     newSelection.add(newArea1);
                     newSelection.add(newArea2);
@@ -95,6 +95,6 @@
             }
         }
-        
-        Main.ds.setSelected(newSelection);
+
+        Main.main.getCurrentDataSet().setSelected(newSelection);
     }
 
@@ -102,5 +102,5 @@
      * Splits a given area into 2 areas. newArea1 and newArea2 must be
      * referneces to already existing areas.
-     * 
+     *
      * @param area the original area
      * @param border border line, which goes across the area
@@ -110,7 +110,7 @@
      */
     private int splitArea(Way area, Way border, Way newArea1, Way newArea2) {
-		
+
         Way tempBorder = new Way(border);
-		
+
         int index1 = area.nodes.indexOf(tempBorder.firstNode());
         int index2 = area.nodes.indexOf(tempBorder.lastNode());
@@ -123,15 +123,15 @@
             index2 = area.nodes.indexOf(tempBorder.lastNode());
         }
-		
-        for (Relation relation : Main.ds.relations)
+
+        for (Relation relation : Main.main.getCurrentDataSet().relations)
             for (RelationMember areaMember : relation.members)
                 if (area.equals(areaMember.member))
                     return 2;
-			
+
         for (String key : area.keySet()) {
             newArea1.put(key, area.get(key));
             newArea2.put(key, area.get(key));
         }
-		
+
         newArea1.nodes.addAll(area.nodes.subList(0, index1));
         newArea1.nodes.addAll(tempBorder.nodes);
@@ -143,5 +143,5 @@
         newArea2.nodes.addAll(tempBorder.nodes);
         newArea2.nodes.add(area.nodes.get(index1));
-		
+
         removeDuplicateNodesFromWay(newArea1);
         removeDuplicateNodesFromWay(newArea2);
@@ -149,5 +149,5 @@
         return 0;
     }
-	
+
     /**
      * Removes all consequent nodes, which are on the same way.
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/LocationSelector.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/LocationSelector.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/LocationSelector.java	(revision 16601)
@@ -3,17 +3,11 @@
 import java.awt.Component;
 import java.awt.Font;
+import java.awt.event.ItemListener;
 import java.util.ArrayList;
-
-import java.awt.event.ItemListener;
-
 
 import javax.swing.DefaultComboBoxModel;
 import javax.swing.DefaultListCellRenderer;
 import javax.swing.JList;
-import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.AddressElement;
-import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Suburb;
-import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.ElementWithStreets;
-import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.ViToCi;
-import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Region;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -23,5 +17,10 @@
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.AddressElement;
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Database;
+import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.ElementWithStreets;
+import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Region;
+import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Suburb;
+import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.ViToCi;
 
 /**
@@ -71,5 +70,6 @@
      * @deprecated
      */
-    private void autodetectLocation() {
+    @Deprecated
+	private void autodetectLocation() {
         boolean assertions = false;
         assert  assertions = true;
@@ -83,5 +83,5 @@
 
         BoundingXYVisitor visitor = new BoundingXYVisitor();
-        for (OsmPrimitive op : Main.ds.allPrimitives()) {
+        for (OsmPrimitive op : Main.main.getCurrentDataSet().allPrimitives()) {
             if (op instanceof Node) {
                 ((Node) op).visit(visitor);
@@ -103,5 +103,5 @@
             System.out.println("AUTO: Center is " + center);
 
-        for (OsmPrimitive op : Main.ds.allPrimitives()) {
+        for (OsmPrimitive op : Main.main.getCurrentDataSet().allPrimitives()) {
 
             if (!(op instanceof Node)) {
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/ManagerDialog.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/ManagerDialog.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/ManagerDialog.java	(revision 16601)
@@ -1,10 +1,11 @@
 package org.openstreetmap.josm.plugins.czechaddress.gui;
 
-import org.openstreetmap.josm.plugins.czechaddress.gui.utils.HalfCookedTreeModel;
 import java.util.ArrayList;
 import java.util.List;
+
 import javax.swing.event.TableModelListener;
 import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.TableModel;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.ExtendedDialog;
@@ -18,4 +19,5 @@
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.ViToCi;
 import org.openstreetmap.josm.plugins.czechaddress.gui.databaseeditors.EditorFactory;
+import org.openstreetmap.josm.plugins.czechaddress.gui.utils.HalfCookedTreeModel;
 import org.openstreetmap.josm.plugins.czechaddress.gui.utils.UniversalTreeRenderer;
 import org.openstreetmap.josm.plugins.czechaddress.intelligence.Capitalizator;
@@ -45,5 +47,5 @@
 
         Capitalizator cap = new Capitalizator(
-                                Main.ds.allPrimitives(),
+                                Main.main.getCurrentDataSet().allPrimitives(),
                                 CzechAddressPlugin.getLocation().getStreets());
 
@@ -178,5 +180,5 @@
             return 0;
         }
-        
+
     }
 
@@ -340,5 +342,5 @@
     private void dbEditButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dbEditButtonActionPerformed
         if (EditorFactory.isEditable(dbTreeValue)) {
-            if (EditorFactory.edit((AddressElement) dbTreeValue))
+            if (EditorFactory.edit(dbTreeValue))
                 dbTree.repaint();
         } else
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/PointManipulatorDialog.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/PointManipulatorDialog.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/gui/PointManipulatorDialog.java	(revision 16601)
@@ -1,12 +1,13 @@
 package org.openstreetmap.josm.plugins.czechaddress.gui;
 
-import org.openstreetmap.josm.plugins.czechaddress.gui.utils.HalfCookedComboBoxModel;
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
 import java.util.List;
 import java.util.Map;
+
 import javax.swing.AbstractAction;
 import javax.swing.Action;
 import javax.swing.Timer;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Node;
@@ -20,4 +21,5 @@
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.AddressElement;
 import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.House;
+import org.openstreetmap.josm.plugins.czechaddress.gui.utils.HalfCookedComboBoxModel;
 import org.openstreetmap.josm.plugins.czechaddress.gui.utils.UniversalListRenderer;
 import org.openstreetmap.josm.plugins.czechaddress.intelligence.Reasoner;
@@ -89,5 +91,5 @@
         super.buttonAction(evt);
         if (getValue() == 1) {
-            
+
             if (updateMatchesTimer != null && updateMatchesTimer.isRunning()) {
                 updateMatchesTimer.stop();
@@ -97,7 +99,7 @@
             proposalContainer.applyAll();
 
-            Main.ds.setSelected((Node) null); // TODO: This is an ugly hack.
-            Main.ds.setSelected(proposalContainer.getTarget());
-            
+            Main.main.getCurrentDataSet().setSelected((Node) null); // TODO: This is an ugly hack.
+            Main.main.getCurrentDataSet().setSelected(proposalContainer.getTarget());
+
             AddressElement elem = (AddressElement) matchesComboBox.getSelectedItem();
             if (elem != null) {
@@ -125,5 +127,5 @@
      */
     public void updateMatches() {
-        
+
         if (proposalContainer.getTarget().deleted)
             setVisible(false);
@@ -145,5 +147,5 @@
             r.closeTransaction();
         }
-        
+
         MatchesComboBoxModel matchesModel =
                 ((MatchesComboBoxModel) matchesComboBox.getModel());
@@ -175,5 +177,5 @@
      * This method is called from within the constructor to
      * initialize the form.
-     * 
+     *
      * <p><b>WARNING:</b> Do NOT modify this code. The content of this method is
      * always regenerated by the Form Editor.</p>
@@ -290,5 +292,5 @@
         if (updateMatchesTimer != null)
             updateMatchesTimer.stop();
-        
+
         updateMatchesTimer = new Timer(300, updateMatchesAction);
         updateMatchesTimer.setRepeats(false);
@@ -305,5 +307,5 @@
     private void matchChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_matchChanged
 
-        if (matchesComboBox.getSelectedItem() == null) return;        
+        if (matchesComboBox.getSelectedItem() == null) return;
         AddressElement selectedElement = (AddressElement) matchesComboBox.getSelectedItem();
         proposalContainer.setProposals(selectedElement.getDiff(proposalContainer.getTarget()));
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/proposal/ExtractAddressIntoNodeProposal.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/proposal/ExtractAddressIntoNodeProposal.java	(revision 16600)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/proposal/ExtractAddressIntoNodeProposal.java	(revision 16601)
@@ -2,9 +2,9 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
+import org.openstreetmap.josm.plugins.czechaddress.CzechAddressPlugin;
 
 /**
@@ -66,5 +66,5 @@
            way.remove(key);
 
-        Main.ds.addPrimitive(addrNode);
+        Main.main.getCurrentDataSet().addPrimitive(addrNode);
     }
 
