Index: trunk/src/org/openstreetmap/josm/io/AbstractReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 14542)
+++ trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 14543)
@@ -609,6 +609,5 @@
     }
 
-    @SuppressWarnings("unchecked")
-    private <T extends OsmPrimitive> T buildPrimitive(PrimitiveData pd) {
+    private OsmPrimitive buildPrimitive(PrimitiveData pd) {
         OsmPrimitive p;
         if (pd.getUniqueId() < AbstractPrimitive.currentUniqueId()) {
@@ -620,9 +619,9 @@
         p.load(pd);
         externalIdMap.put(pd.getPrimitiveId(), p);
-        return (T) p;
+        return p;
     }
 
     private Node addNode(NodeData nd, NodeReader nodeReader) throws IllegalDataException {
-        Node n = buildPrimitive(nd);
+        Node n = (Node) buildPrimitive(nd);
         nodeReader.accept(n);
         return n;
@@ -672,5 +671,5 @@
         WayData wd = new WayData(0);
         commonReader.accept(wd);
-        Way w = buildPrimitive(wd);
+        Way w = (Way) buildPrimitive(wd);
 
         Collection<Long> nodeIds = new ArrayList<>();
@@ -687,5 +686,5 @@
         RelationData rd = new RelationData(0);
         commonReader.accept(rd);
-        Relation r = buildPrimitive(rd);
+        Relation r = (Relation) buildPrimitive(rd);
 
         Collection<RelationMemberData> members = new ArrayList<>();
