Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/CopyTagsAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/CopyTagsAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/CopyTagsAction.java	(revision 35476)
@@ -8,7 +8,7 @@
 import java.awt.event.KeyEvent;
 import java.util.Collection;
-import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.stream.Collectors;
 
 import javax.swing.JOptionPane;
@@ -21,5 +21,4 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.tools.Shortcut;
-import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -46,5 +45,5 @@
     public void actionPerformed(ActionEvent e) {
         if (isEmptySelection()) return;
-        Collection<OsmPrimitive> selection = getLayerManager().getEditDataSet().getSelected();
+        Collection<OsmPrimitive> selection = getLayerManager().getActiveDataSet().getSelected();
         copy(getLayerManager().getEditLayer(), selection);
     }
@@ -59,10 +58,9 @@
         Set<String> values = new TreeSet<>();
         for (OsmPrimitive p : primitives) {
-            for (Entry<String, String> kv : p.getKeys().entrySet()) {
-                values.add(new Tag(kv.getKey(), kv.getValue()).toString());
-            }
+            p.getKeys().entrySet().forEach(kv -> values.add(new Tag(kv.getKey(), kv.getValue()).toString()));
         }
-        if (!values.isEmpty())
-            ClipboardUtils.copyString(Utils.join("\n", values));
+        if (!values.isEmpty()) {
+            ClipboardUtils.copyString(values.stream().collect(Collectors.joining("\n")));
+        }
     }
 
@@ -78,5 +76,5 @@
 
     private boolean isEmptySelection() {
-        Collection<OsmPrimitive> sel = getLayerManager().getEditDataSet().getSelected();
+        Collection<OsmPrimitive> sel = getLayerManager().getActiveDataSet().getSelected();
         if (sel.isEmpty()) {
             JOptionPane.showMessageDialog(
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/PasteRelationsAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/PasteRelationsAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/PasteRelationsAction.java	(revision 35476)
@@ -14,5 +14,4 @@
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.openstreetmap.josm.actions.JosmAction;
@@ -80,5 +79,5 @@
 
         List<Command> commands = new ArrayList<>();
-        for (Entry<Relation, String> entry : relations.entrySet()) {
+        for (Map.Entry<Relation, String> entry : relations.entrySet()) {
             Relation rel = entry.getKey();
             Relation r = new Relation(rel);
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitObjectAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitObjectAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitObjectAction.java	(revision 35476)
@@ -15,5 +15,4 @@
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import javax.swing.JOptionPane;
@@ -121,5 +120,5 @@
             }
 
-            for (Entry<Way, Integer> entry : wayOccurenceCounter.entrySet()) {
+            for (Map.Entry<Way, Integer> entry : wayOccurenceCounter.entrySet()) {
                 if (entry.getValue().equals(selectedNodes.size())) {
                     if (selectedWay != null) {
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitOnIntersectionsAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitOnIntersectionsAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitOnIntersectionsAction.java	(revision 35476)
@@ -12,5 +12,4 @@
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import javax.swing.JOptionPane;
@@ -92,5 +91,5 @@
         }
 
-        for (Entry<Way, List<Node>> entry : splitWays.entrySet()) {
+        for (Map.Entry<Way, List<Node>> entry : splitWays.entrySet()) {
             SplitWayCommand split = SplitWayCommand.split(entry.getKey(), entry.getValue(), selectedWays);
             if (split != null) {
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CircleArcMaker.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CircleArcMaker.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CircleArcMaker.java	(revision 35476)
@@ -266,5 +266,5 @@
                 PolarCoor pcLast = new PolarCoor(last.getEastNorth(), center);
                 double delta = pcLast.angle - pcFirst.angle;
-                if ((!clockwise && delta < 0 || clockwise && delta > 0)
+                if (((!clockwise && delta < 0) || (clockwise && delta > 0))
                         && Math.signum(pcFirst.angle) == Math.signum(pcLast.angle)) {
                     // cannot project node onto circle arc, ignore that it is fixed
@@ -300,6 +300,6 @@
                     if (!oldNodes.isEmpty()) {
                         PolarCoor pc2 = new PolarCoor(oldNodes.get(0).getEastNorth(), center);
-                        if (pc2.angle < ref.angle && ref.angle < 0 && step > 0
-                                || pc2.angle > ref.angle && ref.angle > 0 && step < 0) {
+                        if ((pc2.angle < ref.angle && ref.angle < 0 && step > 0)
+                                || (pc2.angle > ref.angle && ref.angle > 0 && step < 0)) {
                             // projected node would produce a loop
                             pc2 = ref; //
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/ChooseURLAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/ChooseURLAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/ChooseURLAction.java	(revision 35476)
@@ -44,5 +44,5 @@
     @Override
     protected void updateEnabledState() {
-        setEnabled(getLayerManager().getEditDataSet() != null);
+        setEnabled(getLayerManager().getActiveDataSet() != null);
     }
 
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/OpenPageAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/OpenPageAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/OpenPageAction.java	(revision 35476)
@@ -43,7 +43,7 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        Collection<OsmPrimitive> sel = getLayerManager().getEditDataSet().getSelected();
+        Collection<OsmPrimitive> sel = getLayerManager().getActiveDataSet().getSelected();
         OsmPrimitive p = null;
-        if (sel.size() >= 1) {
+        if (!sel.isEmpty()) {
             p = sel.iterator().next();
         }
@@ -65,5 +65,5 @@
             while (m.find()) {
                 key = m.group(1); val = null;
-                if (key.equals("#id")) {
+                if ("#id".equals(key)) {
                     if (p != null) {
                         val = Long.toString(p.getId());
@@ -72,11 +72,11 @@
                         return;
                     }
-                } else if (key.equals("#type")) {
+                } else if ("#type".equals(key)) {
                     if (p != null) val = OsmPrimitiveType.from(p).getAPIName();
-                } else if (key.equals("#lat")) {
+                } else if ("#lat".equals(key)) {
                     val = Double.toString(center.lat());
-                } else if (key.equals("#lon")) {
+                } else if ("#lon".equals(key)) {
                     val = Double.toString(center.lon());
-                } else if (key.equals("#zoom")) {
+                } else if ("#zoom".equals(key)) {
                     val = Integer.toString(OsmUrlToBounds.getZoom(MainApplication.getMap().mapView.getRealBounds()));
                 } else {
@@ -115,5 +115,5 @@
     @Override
     protected void updateEnabledState() {
-        setEnabled(getLayerManager().getEditDataSet() != null);
+        setEnabled(getLayerManager().getActiveDataSet() != null);
     }
 }
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/latlon/LatLonDialog.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/latlon/LatLonDialog.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/latlon/LatLonDialog.java	(revision 35476)
@@ -27,6 +27,4 @@
 import javax.swing.JTextArea;
 import javax.swing.UIManager;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
 import javax.swing.event.DocumentEvent;
 import javax.swing.event.DocumentListener;
@@ -50,5 +48,4 @@
     public JTabbedPane tabs;
     private JTextArea taLatLon;
-    private JScrollPane spScroll;
     private JRadioButton rbNodes;
     private JRadioButton rbWay;
@@ -91,5 +88,5 @@
         taLatLon = new JTextArea(5, 24);
         taLatLon.getDocument().addDocumentListener(new CoordinateListener());
-        spScroll = new JScrollPane(taLatLon);
+        JScrollPane spScroll = new JScrollPane(taLatLon);
         pnl.add(spScroll, GBC.eol().insets(0, 10, 0, 0).fill().weight(2.0, 2.0));
 
@@ -161,11 +158,9 @@
         tabs = new JTabbedPane();
         tabs.addTab(tr("Lat/Lon"), buildLatLon());
-        tabs.getModel().addChangeListener(new ChangeListener() {
-            @Override
-            public void stateChanged(ChangeEvent e) {
-                switch (tabs.getModel().getSelectedIndex()) {
-                case 0: parseLatLonUserInput(); break;
-                default: throw new AssertionError();
-                }
+        tabs.getModel().addChangeListener(e -> {
+            if (tabs.getModel().getSelectedIndex() == 0) {
+                parseLatLonUserInput();
+            } else {
+                throw new AssertionError();
             }
         });
@@ -174,6 +169,6 @@
 
     public LatLonDialog(Component parent, String title, String help) {
-        super(MainApplication.getMainFrame(), tr("Add Node..."), new String[] {tr("Ok"), tr("Cancel")});
-        setButtonIcons(new String[] {"ok", "cancel"});
+        super(MainApplication.getMainFrame(), tr("Add Node..."), tr("Ok"), tr("Cancel"));
+        setButtonIcons("ok", "cancel");
         configureContextsensitiveHelp("/Action/AddNode", true);
 
@@ -230,7 +225,6 @@
         //
         NumberFormat f = NumberFormat.getNumberInstance();
-        Number n = null;
         ParsePosition pp = new ParsePosition(0);
-        n = f.parse(input, pp);
+        Number n = f.parse(input, pp);
         if (pp.getErrorIndex() >= 0 || pp.getIndex() < input.length()) {
             // fall back - try to parse with the english locale
@@ -249,5 +243,5 @@
         try {
             latLons = parseLatLons(taLatLon.getText());
-            Boolean working = true;
+            boolean working = true;
             int i = 0;
             while (working && i < latLons.length) {
@@ -273,5 +267,5 @@
 
     private void setOkEnabled(boolean b) {
-        if (buttons != null && buttons.size() > 0) {
+        if (buttons != null && !buttons.isEmpty()) {
             buttons.get(0).setEnabled(b);
         }
@@ -354,5 +348,5 @@
                 sb.append("x");     // cardinal direction
                 String c = m.group(7).toUpperCase();
-                if (c.equals("N") || c.equals("S") || c.equals("E") || c.equals("W")) {
+                if ("N".equals(c) || "S".equals(c) || "E".equals(c) || "W".equals(c)) {
                     list.add(c);
                 } else {
@@ -441,6 +435,6 @@
 
         double coord = (coordDeg < 0 ? -1 : 1) * (Math.abs(coordDeg) + coordMin / 60 + coordSec / 3600);
-        coord = card.equals("N") || card.equals("E") ? coord : -coord;
-        if (card.equals("N") || card.equals("S")) {
+        coord = "N".equals(card) || "E".equals(card) ? coord : -coord;
+        if ("N".equals(card) || "S".equals(card)) {
             latLon.lat = coord;
         } else {
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/multitagger/MultiTagDialog.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/multitagger/MultiTagDialog.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/multitagger/MultiTagDialog.java	(revision 35476)
@@ -10,5 +10,4 @@
 import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
 import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
@@ -97,9 +96,5 @@
         final JToggleButton jt = new JToggleButton("", ImageProvider.get("restart"), true);
         jt.setToolTipText(tr("Sync with JOSM selection"));
-        jt.addActionListener(new ActionListener() {
-            @Override public void actionPerformed(ActionEvent e) {
-                tableModel.setWatchSelection(jt.isSelected());
-            }
-        });
+        jt.addActionListener(e -> tableModel.setWatchSelection(jt.isSelected()));
         pnl.add(jt, GBC.eol());
 
@@ -136,10 +131,10 @@
         for (final OsmPrimitiveType type: OsmPrimitiveType.values()) {
             final JToggleButton jt = new JToggleButton("", ImageProvider.get(type), true);
-            jt.addActionListener(new ActionListener() {
-                @Override
-                public void actionPerformed(ActionEvent e) {
-                    if (jt.isSelected()) tableModel.shownTypes.add(type); else tableModel.shownTypes.remove(type);
-                    tableModel.updateData(MainApplication.getLayerManager().getEditDataSet().getSelected());
-                }
+            jt.addActionListener(e -> {
+                if (jt.isSelected())
+                    tableModel.shownTypes.add(type);
+                else
+                    tableModel.shownTypes.remove(type);
+                tableModel.updateData(MainApplication.getLayerManager().getEditDataSet().getSelected());
             });
             ImageProvider.get(type);
@@ -193,4 +188,5 @@
 
     };
+
     private final ListSelectionListener selectionListener = new ListSelectionListener() {
         @Override
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/ConnectedMatch.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/ConnectedMatch.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/ConnectedMatch.java	(revision 35476)
@@ -32,5 +32,5 @@
         Set<Node> matchedNodes = new HashSet<>();
         // find all ways that match the expression
-        Collection<Way> allWays = MainApplication.getLayerManager().getEditDataSet().getWays();
+        Collection<Way> allWays = MainApplication.getLayerManager().getActiveDataSet().getWays();
         for (Way way : allWays) {
             if (match.match(way)) {
@@ -39,5 +39,5 @@
         }
         // find all nodes that match the expression
-        Collection<Node> allNodes = MainApplication.getLayerManager().getEditDataSet().getNodes();
+        Collection<Node> allNodes = MainApplication.getLayerManager().getActiveDataSet().getNodes();
         for (Node node : allNodes) {
             if (match.match(node)) {
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/InsideMatch.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/InsideMatch.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/InsideMatch.java	(revision 35476)
@@ -29,5 +29,5 @@
         Collection<OsmPrimitive> matchedAreas = new HashSet<>();
         // find all ways that match the expression
-        Collection<Way> ways = MainApplication.getLayerManager().getEditDataSet().getWays();
+        Collection<Way> ways = MainApplication.getLayerManager().getActiveDataSet().getWays();
         for (Way way : ways) {
             if (match.match(way)) {
@@ -36,5 +36,5 @@
         }
         // find all relations that match the expression
-        Collection<Relation> rels = MainApplication.getLayerManager().getEditDataSet().getRelations();
+        Collection<Relation> rels = MainApplication.getLayerManager().getActiveDataSet().getRelations();
         for (Relation rel : rels) {
             if (match.match(rel)) {
@@ -42,5 +42,5 @@
             }
         }
-        inside = NodeWayUtils.selectAllInside(matchedAreas, MainApplication.getLayerManager().getEditDataSet(), false);
+        inside = NodeWayUtils.selectAllInside(matchedAreas, MainApplication.getLayerManager().getActiveDataSet(), false);
     }
 
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/IntersectingMatch.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/IntersectingMatch.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/search/IntersectingMatch.java	(revision 35476)
@@ -31,5 +31,5 @@
         Collection<Way> matchedWays = new HashSet<>();
         // find all ways that match the expression
-        Collection<Way> allWays = MainApplication.getLayerManager().getEditDataSet().getWays();
+        Collection<Way> allWays = MainApplication.getLayerManager().getActiveDataSet().getWays();
         for (Way way : allWays) {
             if (match.match(way)) {
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/AdjacentNodesAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/AdjacentNodesAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/AdjacentNodesAction.java	(revision 35476)
@@ -37,5 +37,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         Collection<Node> selectedNodes = ds.getSelectedNodes();
         Set<Way> selectedWays = new LinkedHashSet<>(ds.getSelectedWays());
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/AdjacentWaysAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/AdjacentWaysAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/AdjacentWaysAction.java	(revision 35476)
@@ -35,5 +35,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         Collection<Node> selectedNodes = ds.getSelectedNodes();
         Collection<Way> selectedWays = ds.getSelectedWays();
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/ConnectedWaysAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/ConnectedWaysAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/ConnectedWaysAction.java	(revision 35476)
@@ -32,5 +32,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         Collection<Node> selectedNodes = ds.getSelectedNodes();
         Collection<Way> selectedWays = ds.getSelectedWays();
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysAction.java	(revision 35476)
@@ -34,5 +34,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         Collection<Way> selectedWays = ds.getSelectedWays();
 
@@ -44,5 +44,4 @@
                     selectedWays, newWays);
             ds.addSelected(newWays);
-            return;
         } else {
             new Notification(
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysRecursiveAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysRecursiveAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysRecursiveAction.java	(revision 35476)
@@ -35,5 +35,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         Collection<Way> selectedWays = ds.getSelectedWays();
 
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/MiddleNodesAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/MiddleNodesAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/MiddleNodesAction.java	(revision 35476)
@@ -35,5 +35,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        Set<Node> selectedNodes = new HashSet<>(getLayerManager().getEditDataSet().getSelectedNodes());
+        Set<Node> selectedNodes = new HashSet<>(getLayerManager().getActiveDataSet().getSelectedNodes());
 
         // if no 2 nodes and no ways are selected, do nothing
@@ -49,6 +49,6 @@
 
         // make sure that selected nodes are in the wanted order (see #josm17258)
-        getLayerManager().getEditDataSet().clearSelection(newSelectedNodes);
-        getLayerManager().getEditDataSet().addSelected(newSelectedNodes);
+        getLayerManager().getActiveDataSet().clearSelection(newSelectedNodes);
+        getLayerManager().getActiveDataSet().addSelected(newSelectedNodes);
     }
 
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectAllInsideAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectAllInsideAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectAllInsideAction.java	(revision 35476)
@@ -32,5 +32,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         Collection<OsmPrimitive> insideSelected = NodeWayUtils.selectAllInside(ds.getSelected(), ds, true);
 
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectBoundaryAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectBoundaryAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectBoundaryAction.java	(revision 35476)
@@ -41,5 +41,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         if (ds != null) {
             Collection<Way> selectedWays = ds.getSelectedWays();
@@ -97,5 +97,5 @@
     @Override
     protected void updateEnabledState() {
-        setEnabled(getLayerManager().getEditDataSet() != null);
+        setEnabled(getLayerManager().getActiveDataSet() != null);
     }
 
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectHighwayAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectHighwayAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectHighwayAction.java	(revision 35476)
@@ -41,5 +41,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         List<Way> selectedWays = new ArrayList<>(ds.getSelectedWays());
 
@@ -55,5 +55,5 @@
     }
 
-    private Set<Way> selectNamedRoad(Way firstWay) {
+    private static Set<Way> selectNamedRoad(Way firstWay) {
         Set<Way> newWays = new HashSet<>();
         String key = firstWay.hasKey("name") ? "name" : "ref";
@@ -75,5 +75,5 @@
     }
 
-    private Set<Way> selectHighwayBetween(Way firstWay, Way lastWay) {
+    private static Set<Way> selectHighwayBetween(Way firstWay, Way lastWay) {
         int minRank = Math.min(getHighwayRank(firstWay), getHighwayRank(lastWay));
         HighwayTree firstTree = new HighwayTree(firstWay, minRank);
@@ -95,17 +95,17 @@
             return 0;
         String highway = way.get("highway");
-        if (highway.equals("path") || highway.equals("footway") || highway.equals("cycleway"))
+        if ("path".equals(highway) || "footway".equals(highway) || "cycleway".equals(highway))
             return 1;
-        else if (highway.equals("track") || highway.equals("service"))
+        else if ("track".equals(highway) || "service".equals(highway))
             return 2;
-        else if (highway.equals("unclassified") || highway.equals("residential"))
+        else if ("unclassified".equals(highway) || "residential".equals(highway))
             return 3;
-        else if (highway.equals("tertiary") || highway.equals("tertiary_link"))
+        else if ("tertiary".equals(highway) || "tertiary_link".equals(highway))
             return 4;
-        else if (highway.equals("secondary") || highway.equals("secondary_link"))
+        else if ("secondary".equals(highway) || "secondary_link".equals(highway))
             return 5;
-        else if (highway.equals("primary") || highway.equals("primary_link"))
+        else if ("primary".equals(highway) || "primary_link".equals(highway))
             return 6;
-        else if (highway.equals("trunk") || highway.equals("trunk_link") || highway.equals("motorway") || highway.equals("motorway_link"))
+        else if ("trunk".equals(highway) || "trunk_link".equals(highway) || "motorway".equals(highway) || "motorway_link".equals(highway))
             return 7;
         return 0;
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectWayNodesAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectWayNodesAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectWayNodesAction.java	(revision 35476)
@@ -41,5 +41,5 @@
         Set<Node> selectedNodes = new LinkedHashSet<>();
 
-        for (OsmPrimitive p : getLayerManager().getEditDataSet().getSelected()) {
+        for (OsmPrimitive p : getLayerManager().getActiveDataSet().getSelected()) {
             if (p instanceof Way) {
                 Way w = (Way) p;
@@ -56,5 +56,5 @@
         }
 
-        getLayerManager().getEditDataSet().setSelected(selectedNodes);
+        getLayerManager().getActiveDataSet().setSelected(selectedNodes);
     }
 
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/UndoSelectionAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/UndoSelectionAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/UndoSelectionAction.java	(revision 35476)
@@ -30,10 +30,10 @@
     }
 
-    private Collection<OsmPrimitive> lastSel;
+    private transient Collection<OsmPrimitive> lastSel;
     private int index;
 
     @Override
     public void actionPerformed(ActionEvent e) {
-        DataSet ds = getLayerManager().getEditDataSet();
+        DataSet ds = getLayerManager().getActiveDataSet();
         if (ds != null) {
             LinkedList<Collection<? extends OsmPrimitive>> history = ds.getSelectionHistory();
@@ -78,8 +78,12 @@
     @Override
     protected void updateEnabledState() {
-        DataSet ds = getLayerManager().getEditDataSet();
         lastSel = null;
         index = -1;
-        setEnabled(ds != null && ds.getSelectionHistory().isEmpty());
+        setEnabled(getLayerManager().getActiveDataSet() != null);
+    }
+
+    @Override
+    protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
+        setEnabled(getLayerManager().getActiveDataSet() != null);
     }
 }
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/UnselectNodesAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/UnselectNodesAction.java	(revision 35475)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/UnselectNodesAction.java	(revision 35476)
@@ -31,5 +31,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        getLayerManager().getEditDataSet().clearSelection(getLayerManager().getEditDataSet().getSelectedNodes());
+        getLayerManager().getActiveDataSet().clearSelection(getLayerManager().getActiveDataSet().getSelectedNodes());
     }
 
