Index: /applications/editors/josm/plugins/imagery-xml-bounds/build.xml
===================================================================
--- /applications/editors/josm/plugins/imagery-xml-bounds/build.xml	(revision 34325)
+++ /applications/editors/josm/plugins/imagery-xml-bounds/build.xml	(revision 34326)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="Commit message"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="13927"/>
+    <property name="plugin.main.version" value="13957"/>
     
     <!-- Configure these properties (replace "..." accordingly).
Index: /applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/ComputeBoundsAction.java
===================================================================
--- /applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/ComputeBoundsAction.java	(revision 34325)
+++ /applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/ComputeBoundsAction.java	(revision 34326)
@@ -25,4 +25,8 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.BBox;
+import org.openstreetmap.josm.data.osm.IPrimitive;
+import org.openstreetmap.josm.data.osm.IRelation;
+import org.openstreetmap.josm.data.osm.IRelationMember;
+import org.openstreetmap.josm.data.osm.IWay;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -51,6 +55,6 @@
     protected static final String EIGHT_SP = "        ";
 
-    private final Set<Relation> multipolygons;
-    private final Set<Way> closedWays;
+    private final Set<IRelation<?>> multipolygons;
+    private final Set<IWay<?>> closedWays;
 
     static { DF.setRoundingMode(RoundingMode.CEILING); }
@@ -83,16 +87,16 @@
     }
 
-    protected void updateOsmPrimitives(Collection<? extends OsmPrimitive> primitives) {
+    protected void updateOsmPrimitives(Collection<? extends IPrimitive> primitives) {
         multipolygons.clear();
         closedWays.clear();
         // Store selected multipolygons and closed ways
-        for (OsmPrimitive value : primitives) {
-            if (value instanceof Relation) {
-                Relation r = (Relation) value;
+        for (IPrimitive value : primitives) {
+            if (value instanceof IRelation) {
+                IRelation<?> r = (IRelation<?>) value;
                 if (r.isMultipolygon()) {
                     multipolygons.add(r);
                 }
-            } else if (value instanceof Way) {
-                Way w = (Way) value;
+            } else if (value instanceof IWay) {
+                IWay<?> w = (IWay<?>) value;
                 if (w.isClosed()) {
                     closedWays.add(w);
@@ -101,5 +105,5 @@
         }
         // Remove closed ways already inside a selected multipolygon
-        for (Iterator<Way> it = closedWays.iterator(); it.hasNext();) {
+        for (Iterator<IWay<?>> it = closedWays.iterator(); it.hasNext();) {
             processIterator(it);
         }
@@ -108,8 +112,8 @@
     }
 
-    private void processIterator(Iterator<Way> it) {
-        Way way = it.next();
-        for (Relation mp : multipolygons) {
-            for (RelationMember mb : mp.getMembers()) {
+    private void processIterator(Iterator<IWay<?>> it) {
+        IWay<?> way = it.next();
+        for (IRelation<?> mp : multipolygons) {
+            for (IRelationMember<?> mb : mp.getMembers()) {
                 if (mb.getMember().equals(way)) {
                     it.remove();
@@ -125,5 +129,5 @@
      */
     public final String getXml() {
-        List<OsmPrimitive> primitives = new ArrayList<>();
+        List<IPrimitive> primitives = new ArrayList<>();
         primitives.addAll(multipolygons);
         primitives.addAll(closedWays);
Index: /applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/ShowBoundsAction.java
===================================================================
--- /applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/ShowBoundsAction.java	(revision 34325)
+++ /applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/ShowBoundsAction.java	(revision 34326)
@@ -11,10 +11,10 @@
 import javax.swing.JScrollPane;
 
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.IPrimitiveAction;
+import org.openstreetmap.josm.data.osm.IPrimitive;
+import org.openstreetmap.josm.plugins.imageryxmlbounds.XmlBoundsLayer;
+
 import net.boplicity.xmleditor.XmlTextPane;
-
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.actions.OsmPrimitiveAction;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.plugins.imageryxmlbounds.XmlBoundsLayer;
 
 /**
@@ -22,5 +22,5 @@
  * @author Don-vip
  */
-public class ShowBoundsAction extends ComputeBoundsAction implements OsmPrimitiveAction {
+public class ShowBoundsAction extends ComputeBoundsAction implements IPrimitiveAction {
 
     /**
@@ -55,5 +55,5 @@
 
     @Override
-    public void setPrimitives(Collection<? extends OsmPrimitive> primitives) {
+    public void setPrimitives(Collection<? extends IPrimitive> primitives) {
         updateOsmPrimitives(primitives);
     }
