Index: trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 12030)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 12031)
@@ -90,5 +90,5 @@
         Set<Way> waysRef = null;
         for (Node n: nodes) {
-            Collection<Way> ref = OsmPrimitive.getFilteredList(n.getReferrers(), Way.class);
+            Collection<Way> ref = n.getParentWays();
             if (waysRef == null)
                 waysRef = new HashSet<>(ref);
@@ -187,5 +187,5 @@
                 if (selectedWays.isEmpty())
                     // No selected way, all way containing this node are used
-                    involvedWays = OsmPrimitive.getFilteredList(selectedNode.getReferrers(), Way.class);
+                    involvedWays = selectedNode.getParentWays();
                 else
                     // Selected way, use only these ways
Index: trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 12030)
+++ trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 12031)
@@ -371,6 +371,5 @@
         if (selectedNodes.size() == 1) {
             Node n = selectedNodes.get(0);
-            List<Way> referredWays =
-                OsmPrimitive.getFilteredList(n.getReferrers(), Way.class);
+            List<Way> referredWays = n.getParentWays();
             Way inTheMiddle = null;
             for (Way w: referredWays) {
Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 12030)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 12031)
@@ -96,5 +96,5 @@
             checkAndConfirmOutlyingUnglue();
             int count = 0;
-            for (Way w : OsmPrimitive.getFilteredList(selectedNode.getReferrers(), Way.class)) {
+            for (Way w : selectedNode.getParentWays()) {
                 if (!w.isUsable() || w.getNodesCount() < 1) {
                     continue;
@@ -126,5 +126,5 @@
             for (Node n : selectedNodes) {
                 int count = 0;
-                for (Way w : OsmPrimitive.getFilteredList(n.getReferrers(), Way.class)) {
+                for (Way w : n.getParentWays()) {
                     if (!w.isUsable()) {
                         continue;
@@ -332,5 +332,5 @@
         if (!(n instanceof Node))
             return false;
-        if (OsmPrimitive.getFilteredList(n.getReferrers(), Way.class).isEmpty())
+        if (((Node) n).getParentWays().isEmpty())
             return false;
 
@@ -564,5 +564,5 @@
         // According to previous check, only one valid way through that node
         Way way = null;
-        for (Way w: OsmPrimitive.getFilteredList(selectedNode.getReferrers(), Way.class)) {
+        for (Way w: selectedNode.getParentWays()) {
             if (w.isUsable() && w.getNodesCount() >= 1) {
                 way = w;
Index: trunk/src/org/openstreetmap/josm/actions/UnJoinNodeWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnJoinNodeWayAction.java	(revision 12030)
+++ trunk/src/org/openstreetmap/josm/actions/UnJoinNodeWayAction.java	(revision 12031)
@@ -152,7 +152,7 @@
 
         // List of ways shared by all nodes
-        List<Way> result = new ArrayList<>(OsmPrimitive.getFilteredList(selectedNodes.get(0).getReferrers(), Way.class));
+        List<Way> result = new ArrayList<>(selectedNodes.get(0).getParentWays());
         for (int i = 1; i < selectedNodes.size(); i++) {
-            List<OsmPrimitive> ref = selectedNodes.get(i).getReferrers();
+            List<Way> ref = selectedNodes.get(i).getParentWays();
             result.removeIf(way -> !ref.contains(way));
         }
Index: trunk/src/org/openstreetmap/josm/data/osm/Node.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 12030)
+++ trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 12031)
@@ -4,4 +4,5 @@
 import java.awt.geom.Area;
 import java.util.Collection;
+import java.util.List;
 import java.util.Objects;
 import java.util.Set;
@@ -429,3 +430,12 @@
         return coor != null && !coor.isIn(area);
     }
+
+    /**
+     * Replies the set of referring ways.
+     * @return the set of referring ways
+     * @since 12031
+     */
+    public List<Way> getParentWays() {
+        return getFilteredList(getReferrers(), Way.class);
+    }
 }
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 12030)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 12031)
@@ -186,5 +186,5 @@
         carsWays = 0;
 
-        for (Way w : OsmPrimitive.getFilteredList(n.getReferrers(), Way.class)) {
+        for (Way w : n.getParentWays()) {
             String highway = w.get(HIGHWAY);
             if (highway != null) {
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java	(revision 12030)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java	(revision 12031)
@@ -695,5 +695,5 @@
          */
         static boolean unconnected(Environment e) { // NO_UCD (unused code)
-            return e.osm instanceof Node && OsmPrimitive.getFilteredList(e.osm.getReferrers(), Way.class).isEmpty();
+            return e.osm instanceof Node && ((Node) e.osm).getParentWays().isEmpty();
         }
 
