Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/AlignWayNodesAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/AlignWayNodesAction.java	(revision 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/AlignWayNodesAction.java	(revision 35674)
@@ -11,5 +11,4 @@
 import java.util.List;
 import java.util.Set;
-import java.util.stream.Collectors;
 
 import javax.swing.JOptionPane;
@@ -27,5 +26,5 @@
 
 /**
- * Pastes relation membership from objects in the paste buffer onto selected object(s).
+ * Align way nodes. Similar to Align nodes in line, but uses a parent way as context.
  *
  * @author Zverik
@@ -139,15 +138,23 @@
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
         Set<Node> nodes = filterNodes(selection);
-        Set<Way> ways = findCommonWays(nodes);
-        setEnabled(ways != null && ways.size() == 1 && !nodes.isEmpty());
-    }
-
-    private Set<Way> findCommonWays(Set<Node> nodes) {
+        if (nodes.isEmpty())
+            setEnabled(false);
+        else {
+            Set<Way> ways = findCommonWays(nodes);
+            setEnabled(ways != null && ways.size() == 1);
+        }
+    }
+
+    private static Set<Way> findCommonWays(Set<Node> nodes) {
         Set<Way> ways = null;
-        for (Node n : nodes.stream().filter(n -> n.getDataSet() != null).collect(Collectors.toList())) {
+        for (Node n : nodes) {
+            if (n.getDataSet() == null)
+                continue;
             if (ways == null)
                 ways = new HashSet<>(n.getParentWays());
             else {
                 ways.retainAll(n.getParentWays());
+                if (ways.isEmpty())
+                    break;
             }
         }
@@ -155,5 +162,5 @@
     }
 
-    private Set<Node> filterNodes(Collection<? extends OsmPrimitive> selection) {
+    private static Set<Node> filterNodes(Collection<? extends OsmPrimitive> selection) {
         Set<Node> result = new HashSet<>();
         if (selection != null) {
@@ -174,5 +181,5 @@
      * @return the index of the node right after the largest empty span
      */
-    private int findFirstNode(Way way, Set<Node> nodes) {
+    private static int findFirstNode(Way way, Set<Node> nodes) {
         int pos = 0;
         while (pos < way.getNodesCount() && !nodes.contains(way.getNode(pos))) {
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/replacegeometry/ReplaceGeometryUtils.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/replacegeometry/ReplaceGeometryUtils.java	(revision 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/replacegeometry/ReplaceGeometryUtils.java	(revision 35674)
@@ -169,5 +169,5 @@
             nodeToReplace = findNearestNode(subjectNode, nodePool.stream().filter(Node::isNew).collect(Collectors.toList()));
             if (nodeToReplace == null) {
-            	nodeToReplace = findNearestNode(subjectNode, nodePool);
+                nodeToReplace = findNearestNode(subjectNode, nodePool);
             }
         }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/AdjacentWaysAction.java	(revision 35674)
@@ -60,9 +60,5 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        setEnabled(!selection.isEmpty());
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/ConnectedWaysAction.java	(revision 35674)
@@ -57,9 +57,5 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        setEnabled(!selection.isEmpty());
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysAction.java	(revision 35674)
@@ -58,9 +58,5 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        setEnabled(!selection.isEmpty());
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/IntersectedWaysRecursiveAction.java	(revision 35674)
@@ -58,9 +58,5 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        setEnabled(!selection.isEmpty());
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/MiddleNodesAction.java	(revision 35674)
@@ -60,9 +60,5 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        setEnabled(!selection.isEmpty());
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectAllInsideAction.java	(revision 35674)
@@ -56,9 +56,5 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        setEnabled(!selection.isEmpty());
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectHighwayAction.java	(revision 35674)
@@ -119,13 +119,14 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        int count = 0, rank = 100;
-        for (OsmPrimitive p : selection) {
-            if (p instanceof Way) {
-                count++;
-                rank = Math.min(rank, getHighwayRank(p));
+        int count = 0;
+        int rank = 100;
+        if (selection != null) {
+            for (OsmPrimitive p : selection) {
+                if (p instanceof Way) {
+                    count++;
+                    if (count > 2)
+                        break;
+                    rank = Math.min(rank, getHighwayRank(p));
+                }
             }
         }
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 35673)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/UnselectNodesAction.java	(revision 35674)
@@ -41,9 +41,5 @@
     @Override
     protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
-        if (selection == null) {
-            setEnabled(false);
-            return;
-        }
-        setEnabled(!selection.isEmpty());
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
