Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/data/JOSMDataSource.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/data/JOSMDataSource.java	(revision 21609)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/data/JOSMDataSource.java	(revision 21610)
@@ -73,25 +73,25 @@
 		}
 	}
-	
+
 	public Object getMember(RelationMember member) {
 		return member.getMember();
 	}
-	
+
 	public String getRole(RelationMember member) {
 		return member.getRole();
 	}
-	
+
 	public boolean isNMember(RelationMember member) {
 		return member.getMember() instanceof Node;
 	}
-	
+
 	public boolean isWMember(RelationMember member) {
 		return member.getMember() instanceof Way;
 	}
-	
+
 	public boolean isRMember(RelationMember member) {
 		return member.getMember() instanceof Relation;
 	}
-	
+
 
 	private static final TagGroup EMPTY_TAG_GROUP;
@@ -150,11 +150,11 @@
 
 			private void updateNext() {
-				if (originalIterator.hasNext()) {
-					next = originalIterator.next();
-					if (!accept(next)) {
-						updateNext();
+				next = null;
+				while (originalIterator.hasNext()) {
+					P originalNext = originalIterator.next();
+					if (accept(originalNext)) {
+						next = originalNext;
+						break;
 					}
-				} else {
-					next = null;
 				}
 			}
