Index: applications/editors/josm/plugins/undelete/src/org/openstreetmap/josm/plugins/undelete/Undelete.java
===================================================================
--- applications/editors/josm/plugins/undelete/src/org/openstreetmap/josm/plugins/undelete/Undelete.java	(revision 27243)
+++ applications/editors/josm/plugins/undelete/src/org/openstreetmap/josm/plugins/undelete/Undelete.java	(revision 27395)
@@ -27,4 +27,5 @@
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.data.osm.RelationMemberData;
 import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
 import org.openstreetmap.josm.data.osm.User;
@@ -70,5 +71,6 @@
       }
 
-      public void actionPerformed(ActionEvent e) {
+      @Override
+	public void actionPerformed(ActionEvent e) {
         JCheckBox layer = new JCheckBox(tr("Separate Layer"));
         layer.setToolTipText(tr("Select if the data should be added into a new layer"));
@@ -120,5 +122,5 @@
         Main.pref.put("undelete.osmid", Long.toString(tfId.getOsmId()));
         List<Long> ids=new ArrayList<Long>();
-        ids.add((long)tfId.getOsmId());
+        ids.add(tfId.getOsmId());
         undelete(layer.isSelected(), cbType.getType(), ids, 0);
       }
@@ -149,5 +151,6 @@
 
         Runnable r = new Runnable() {
-            public void run() {
+            @Override
+			public void run() {
               List<Node> nodes=new ArrayList<Node>();
               for (long id: ids)
@@ -225,11 +228,11 @@
 
                       List<RelationMember> members = new ArrayList<RelationMember>(hRel.getNumMembers());
-                      for (org.openstreetmap.josm.data.osm.history.RelationMember m : hRel.getMembers()) {
-                        OsmPrimitive p = datas.getPrimitiveById(m.getPrimitiveId(), m.getPrimitiveType());
+                      for (RelationMemberData m : hRel.getMembers()) {
+                        OsmPrimitive p = datas.getPrimitiveById(m.getMemberId(), m.getMemberType());
                         if (p == null) {
-                            switch (m.getPrimitiveType()) {
-                            case NODE: p = new Node(m.getPrimitiveId()); break;
-                            case WAY: p = new Way(m.getPrimitiveId()); break;
-                            case RELATION: p = new Relation(m.getPrimitiveId()); break;
+                            switch (m.getMemberType()) {
+                            case NODE: p = new Node(m.getMemberId()); break;
+                            case WAY: p = new Way(m.getMemberId()); break;
+                            case RELATION: p = new Relation(m.getMemberId()); break;
                             }
                             datas.addPrimitive(p);
