Index: /applications/editors/josm/plugins/trustosm/build.xml
===================================================================
--- /applications/editors/josm/plugins/trustosm/build.xml	(revision 35761)
+++ /applications/editors/josm/plugins/trustosm/build.xml	(revision 35762)
@@ -3,7 +3,7 @@
 
     <!-- enter the SVN commit message -->
-    <property name="commit.message" value="trustosm: recompile for compatibility with JOSM r17867"/>
+    <property name="commit.message" value="trustosm: recompile for compatibility with JOSM r17896" />
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="17867" />
+    <property name="plugin.main.version" value="17896"/>
     <property name="plugin.author" value="Christoph Wagner" />
     <property name="plugin.class" value="org.openstreetmap.josm.plugins.trustosm.TrustOSMplugin" />
Index: /applications/editors/josm/plugins/trustosm/src/org/openstreetmap/josm/plugins/trustosm/data/TrustWay.java
===================================================================
--- /applications/editors/josm/plugins/trustosm/src/org/openstreetmap/josm/plugins/trustosm/data/TrustWay.java	(revision 35761)
+++ /applications/editors/josm/plugins/trustosm/src/org/openstreetmap/josm/plugins/trustosm/data/TrustWay.java	(revision 35762)
@@ -8,8 +8,9 @@
 
 import org.bouncycastle.openpgp.PGPSignature;
+import org.openstreetmap.josm.data.osm.IWaySegment;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.data.osm.WaySegment;
+import org.openstreetmap.josm.tools.Logging;
 
 public class TrustWay extends TrustOsmPrimitive {
@@ -54,5 +55,5 @@
             osm = osmItem;
         } else {
-            System.err.println("Error while creating TrustWay: OsmPrimitive "+osmItem.getUniqueId()+" is not a Way!");
+            Logging.error("Error while creating TrustWay: OsmPrimitive "+osmItem.getUniqueId()+" is not a Way!");
         }
     }
@@ -74,5 +75,5 @@
     }
 
-    public TrustSignatures getSigsOnSegment(WaySegment seg) {
+    public TrustSignatures getSigsOnSegment(IWaySegment<Node, ?> seg) {
         List<Node> nodes = new ArrayList<>();
         nodes.add(seg.getFirstNode());
Index: /applications/editors/josm/plugins/trustosm/src/org/openstreetmap/josm/plugins/trustosm/gui/dialogs/TrustDialog.java
===================================================================
--- /applications/editors/josm/plugins/trustosm/src/org/openstreetmap/josm/plugins/trustosm/gui/dialogs/TrustDialog.java	(revision 35761)
+++ /applications/editors/josm/plugins/trustosm/src/org/openstreetmap/josm/plugins/trustosm/gui/dialogs/TrustDialog.java	(revision 35762)
@@ -43,4 +43,5 @@
 import org.openstreetmap.josm.data.osm.DataSelectionListener;
 import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
+import org.openstreetmap.josm.data.osm.IWaySegment;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -88,5 +89,5 @@
     private Collection<? extends OsmPrimitive> osmData;
 
-    private final List<WaySegment> selectedSegments = new ArrayList<>();
+    private final List<IWaySegment<Node, Way>> selectedSegments = new ArrayList<>();
     private final List<OsmPrimitive> selectedPrimitives = new ArrayList<>();
 
@@ -233,5 +234,5 @@
                             seg.getSecondNode().getDisplayName(DefaultNameFormatter.getInstance()));
                     TrustSignatures sigs;
-                    String id = TrustOsmPrimitive.createUniqueObjectIdentifier(seg.way);
+                    String id = TrustOsmPrimitive.createUniqueObjectIdentifier(seg.getWay());
                     if (TrustOSMplugin.signedItems.containsKey(id)
                             && (sigs = ((TrustWay) TrustOSMplugin.signedItems.get(id)).getSigsOnSegment(seg)) != null) {
@@ -401,5 +402,5 @@
                         nodes.add(seg.getFirstNode());
                         nodes.add(seg.getSecondNode());
-                        Way w = seg.way;
+                        Way w = seg.getWay();
                         String id = TrustOsmPrimitive.createUniqueObjectIdentifier(w);
                         TrustWay trust = TrustOSMplugin.signedItems.containsKey(id) ?
@@ -449,5 +450,5 @@
                     } else if (o instanceof WaySegment) {
                         WaySegment seg = (WaySegment) o;
-                        String id = TrustOsmPrimitive.createUniqueObjectIdentifier(seg.way);
+                        String id = TrustOsmPrimitive.createUniqueObjectIdentifier(seg.getWay());
                         if (TrustOSMplugin.signedItems.containsKey(id)) {
                             List<Node> nodes = new ArrayList<>();
@@ -654,5 +655,5 @@
 
         // highlight all selected WaySegments
-        for (WaySegment seg : selectedSegments) {
+        for (IWaySegment<?, ?> seg : selectedSegments) {
             GeneralPath b = new GeneralPath();
             Point p1 = mv.getPoint(seg.getFirstNode());
