Index: /trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 15902)
+++ /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 15903)
@@ -85,5 +85,5 @@
     private static final Set<String> allCodes = new HashSet<>();
     private static final Map<String, Supplier<Projection>> projectionSuppliersByCode = new HashMap<>();
-    private static final Map<String, Projection> projectionsByCode_cache = new HashMap<>();
+    private static final Map<String, Projection> projectionsByCodeCache = new HashMap<>();
 
     /*********************************
@@ -361,7 +361,9 @@
      */
     public static Projection getProjectionByCode(String code) {
-        Projection proj = projectionsByCode_cache.get(code);
-        if (proj != null) return proj;
-
+        return projectionsByCodeCache.computeIfAbsent(code, Projections::computeProjectionByCode);
+    }
+
+    private static Projection computeProjectionByCode(String code) {
+        Projection proj = null;
         ProjectionDefinition pd = inits.get(code);
         if (pd != null) {
@@ -380,7 +382,4 @@
             }
         }
-        if (proj != null) {
-            projectionsByCode_cache.put(code, proj);
-        }
         return proj;
     }
