Index: unk/src/org/openstreetmap/josm/data/projection/ProjectionInfo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/ProjectionInfo.java	(revision 5553)
+++ 	(revision )
@@ -1,34 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.data.projection;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.openstreetmap.josm.gui.preferences.projection.ProjectionChoice;
-import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
-
-public class ProjectionInfo {
-    private static Map<String, ProjectionChoice> allCodesPC = new HashMap<String, ProjectionChoice>();
-    private static Map<String, Projection> allCodes = new HashMap<String, Projection>();
-
-    static {
-        for (ProjectionChoice pc : ProjectionPreference.getProjectionChoices()) {
-            for (String code : pc.allCodes()) {
-                allCodesPC.put(code, pc);
-            }
-        }
-    }
-
-    public static Projection getProjectionByCode(String code) {
-        Projection p = allCodes.get(code);
-        if (p != null) return p;
-        ProjectionChoice pc = allCodesPC.get(code);
-        if (pc == null) return null;
-        Collection<String> pref = pc.getPreferencesFromCode(code);
-        pc.setPreferences(pref);
-        p = pc.getProjection();
-        allCodes.put(code, p);
-        return p;
-    }
-}
Index: /trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 5553)
+++ /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 5554)
@@ -6,4 +6,5 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
@@ -24,4 +25,6 @@
 import org.openstreetmap.josm.data.projection.proj.SwissObliqueMercator;
 import org.openstreetmap.josm.data.projection.proj.TransverseMercator;
+import org.openstreetmap.josm.gui.preferences.projection.ProjectionChoice;
+import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
 import org.openstreetmap.josm.io.MirroredInputStream;
 import org.openstreetmap.josm.tools.Pair;
@@ -140,3 +143,29 @@
         }
     }
+
+    private final static Map<String, ProjectionChoice> allCodesPC = new HashMap<String, ProjectionChoice>();
+    private final static Map<String, Projection> allCodes = new HashMap<String, Projection>();
+
+    static {
+        // FIXME: use {@link #inits}, because it may contain more codes in future
+        // than exposed by the ProjectionChoices
+        for (ProjectionChoice pc : ProjectionPreference.getProjectionChoices()) {
+            for (String code : pc.allCodes()) {
+                allCodesPC.put(code, pc);
+            }
+        }
+    }
+
+    public static Projection getProjectionByCode(String code) {
+        Projection p = allCodes.get(code);
+        if (p != null) return p;
+        ProjectionChoice pc = allCodesPC.get(code);
+        if (pc == null) return null;
+        Collection<String> pref = pc.getPreferencesFromCode(code);
+        pc.setPreferences(pref);
+        p = pc.getProjection();
+        allCodes.put(code, p);
+        return p;
+    }
+
 }
Index: /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java	(revision 5553)
+++ /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java	(revision 5554)
@@ -65,5 +65,5 @@
             double east = Double.parseDouble(f[3]);
             double north = Double.parseDouble(f[4]);
-            Projection p = ProjectionInfo.getProjectionByCode(code);
+            Projection p = Projections.getProjectionByCode(code);
             {
                 EastNorth en = p.latlon2eastNorth(new LatLon(lat, lon));
Index: /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java	(revision 5553)
+++ /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java	(revision 5554)
@@ -171,5 +171,5 @@
 
         for (TestData data : allData) {
-            Projection proj = ProjectionInfo.getProjectionByCode(data.code);
+            Projection proj = Projections.getProjectionByCode(data.code);
             if (proj == null) {
                 fail.append("Projection "+data.code+" from test data was not found!\n");
