Index: applications/editors/josm/plugins/buildings_tools/src/buildings_tools/DrawBuildingAction.java
===================================================================
--- applications/editors/josm/plugins/buildings_tools/src/buildings_tools/DrawBuildingAction.java	(revision 34493)
+++ applications/editors/josm/plugins/buildings_tools/src/buildings_tools/DrawBuildingAction.java	(revision 34494)
@@ -24,10 +24,10 @@
 import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.SelectionChangedListener;
 import org.openstreetmap.josm.data.coor.EastNorth;
-import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.DataSelectionListener;
 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.event.SelectionEventManager;
 import org.openstreetmap.josm.data.preferences.NamedColorProperty;
 import org.openstreetmap.josm.gui.MainApplication;
@@ -43,6 +43,5 @@
 import org.openstreetmap.josm.tools.Shortcut;
 
-@SuppressWarnings("serial")
-public class DrawBuildingAction extends MapMode implements MapViewPaintable, SelectionChangedListener,
+public class DrawBuildingAction extends MapMode implements MapViewPaintable, DataSelectionListener,
         KeyPressReleaseListener, ModifierExListener {
     private enum Mode {
@@ -143,5 +142,5 @@
         map.keyDetector.addKeyListener(this);
         map.keyDetector.addModifierExListener(this);
-        DataSet.addSelectionListener(this);
+        SelectionEventManager.getInstance().addSelectionListener(this);
         updateSnap(getLayerManager().getEditDataSet().getSelected());
     }
@@ -156,5 +155,5 @@
         map.keyDetector.removeKeyListener(this);
         map.keyDetector.removeModifierExListener(this);
-        DataSet.removeSelectionListener(this);
+        SelectionEventManager.getInstance().removeSelectionListener(this);
         if (mode != Mode.None)
             map.mapView.repaint();
@@ -491,6 +490,6 @@
 
     @Override
-    public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
-        updateSnap(newSelection);
+    public void selectionChanged(SelectionChangeEvent event) {
+        updateSnap(event.getSelection());
     }
 }
