Index: trunk/src/org/openstreetmap/josm/data/validation/tests/Addresses.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/Addresses.java	(revision 16332)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/Addresses.java	(revision 16333)
@@ -305,9 +305,5 @@
                     if (number != null) {
                         number = number.trim().toUpperCase(Locale.ENGLISH);
-                        List<OsmPrimitive> list = map.get(number);
-                        if (list == null) {
-                            list = new ArrayList<>();
-                            map.put(number, list);
-                        }
+                        List<OsmPrimitive> list = map.computeIfAbsent(number, k -> new ArrayList<>());
                         list.add(p);
                     }
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 16332)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 16333)
@@ -125,9 +125,5 @@
                     }
                     if (!link || !linkOk) {
-                        List<Way> list = map.get(value);
-                        if (list == null) {
-                            list = new ArrayList<>();
-                            map.put(value, list);
-                        }
+                        List<Way> list = map.computeIfAbsent(value, k -> new ArrayList<>());
                         list.add(h);
                     }
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 16332)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 16333)
@@ -325,9 +325,5 @@
                     continue; // cannot be a problem node
                 }
-                List<Way> ways = nodeMap.get(n);
-                if (ways == null) {
-                    ways = new ArrayList<>();
-                    nodeMap.put(n, ways);
-                }
+                List<Way> ways = nodeMap.computeIfAbsent(n, k -> new ArrayList<>());
                 ways.add(rm.getWay());
                 if (ways.size() > 2 || (ways.size() == 2 && i != 0 && i + 1 != numNodes)) {
@@ -563,9 +559,5 @@
                     boolean samePoly = false;
                     if (crossingPolys[0] != null && crossingPolys[1] != null) {
-                        List<PolyData> crossingPolygons = problemPolygonMap.get(crossingPolys[0]);
-                        if (crossingPolygons == null) {
-                            crossingPolygons = new ArrayList<>();
-                            problemPolygonMap.put(crossingPolys[0], crossingPolygons);
-                        }
+                        List<PolyData> crossingPolygons = problemPolygonMap.computeIfAbsent(crossingPolys[0], k -> new ArrayList<>());
                         crossingPolygons.add(crossingPolys[1]);
                         if (crossingPolys[0] == crossingPolys[1]) {
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 16332)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 16333)
@@ -88,7 +88,5 @@
         for (String key: tags.getKeys()) {
             MultiValueResolutionDecision decision = new MultiValueResolutionDecision(tags.getTagsFor(key));
-            if (decisions.get(key) == null) {
-                decisions.put(key, decision);
-            }
+            decisions.putIfAbsent(key, decision);
         }
         displayedKeys.clear();
@@ -106,5 +104,5 @@
             }
             for (String key: tags.getKeys()) {
-                if (!decisions.get(key).isDecided() && !keys.contains(key)) {
+                if (!decisions.get(key).isDecided()) {
                     keys.add(key);
                 }
Index: trunk/src/org/openstreetmap/josm/io/ValidatorErrorWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/ValidatorErrorWriter.java	(revision 16332)
+++ trunk/src/org/openstreetmap/josm/io/ValidatorErrorWriter.java	(revision 16333)
@@ -81,9 +81,5 @@
                     for (Entry<String, Map<String, List<TestError>>> e2 : e1.getValue().entrySet()) {
                         ErrorClass errorClass = new ErrorClass(e1.getKey(), e2.getKey());
-                        List<TestError> list = map.get(errorClass);
-                        if (list == null) {
-                            list = new ArrayList<>();
-                            map.put(errorClass, list);
-                        }
+                        List<TestError> list = map.computeIfAbsent(errorClass, k -> new ArrayList<>());
                         e2.getValue().values().forEach(list::addAll);
                     }
