Index: applications/editors/josm/plugins/graphview/test/org/openstreetmap/josm/plugins/graphview/core/FullGraphCreationTest.java
===================================================================
--- applications/editors/josm/plugins/graphview/test/org/openstreetmap/josm/plugins/graphview/core/FullGraphCreationTest.java	(revision 16520)
+++ applications/editors/josm/plugins/graphview/test/org/openstreetmap/josm/plugins/graphview/core/FullGraphCreationTest.java	(revision 19216)
@@ -165,6 +165,5 @@
 		properties.add(new RoadWidth());
 
-		return new GenericTransitionStructure<TestNode, TestWay, TestRelation>(
-				TestNode.class, TestWay.class, TestRelation.class,
+		return new GenericTransitionStructure<TestNode, TestWay, TestRelation, TestRelationMember>(
 				ACCESS_PARAMS, TEST_RULESET, dataSource, properties);
 	}
Index: applications/editors/josm/plugins/graphview/test/org/openstreetmap/josm/plugins/graphview/core/TestDataSource.java
===================================================================
--- applications/editors/josm/plugins/graphview/test/org/openstreetmap/josm/plugins/graphview/core/TestDataSource.java	(revision 16520)
+++ applications/editors/josm/plugins/graphview/test/org/openstreetmap/josm/plugins/graphview/core/TestDataSource.java	(revision 19216)
@@ -12,5 +12,5 @@
 import org.openstreetmap.josm.plugins.graphview.core.data.TagGroup;
 
-public class TestDataSource implements DataSource<TestDataSource.TestNode, TestDataSource.TestWay, TestDataSource.TestRelation> {
+public class TestDataSource implements DataSource<TestDataSource.TestNode, TestDataSource.TestWay, TestDataSource.TestRelation, TestDataSource.TestRelationMember> {
 
 	public static class TestPrimitive {
@@ -43,5 +43,5 @@
 
 	public static class TestRelation extends TestPrimitive {
-		public final Collection<RelationMember> members = new LinkedList<RelationMember>();
+		public final Collection<TestRelationMember> members = new LinkedList<TestRelationMember>();
 		@Override
 		public String toString() {
@@ -50,5 +50,5 @@
 	}
 
-	public static class TestRelationMember implements RelationMember {
+	public static class TestRelationMember {
 		public final String role;
 		public final TestPrimitive member;
@@ -82,5 +82,5 @@
 	}
 
-	public Iterable<RelationMember> getMembers(TestRelation relation) {
+	public Iterable<TestRelationMember> getMembers(TestRelation relation) {
 		return relation.members;
 	}
@@ -113,4 +113,24 @@
 		return new MapBasedTagGroup(relation.tags);
 	}
+	
+	public Object getMember(TestRelationMember member) {
+		return member.getMember();
+	}
+	
+	public String getRole(TestRelationMember member) {
+		return member.getRole();
+	}
+	
+	public boolean isNMember(TestRelationMember member) {
+		return member.getMember() instanceof TestNode;
+	}
+	
+	public boolean isWMember(TestRelationMember member) {
+		return member.getMember() instanceof TestWay;
+	}
+	
+	public boolean isRMember(TestRelationMember member) {
+		return member.getMember() instanceof TestRelation;
+	}
 
 	public void addObserver(DataSourceObserver observer) {
