Index: applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/MapillaryDataTest.java
===================================================================
--- applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/MapillaryDataTest.java	(revision 31833)
+++ applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/MapillaryDataTest.java	(revision 31882)
@@ -5,4 +5,5 @@
 
 import java.util.Arrays;
+import java.util.concurrent.ConcurrentSkipListSet;
 
 import org.junit.Before;
@@ -44,5 +45,5 @@
 
     this.data = new MapillaryData();
-    this.data.add(this.seq.getImages());
+    this.data.add(new ConcurrentSkipListSet(this.seq.getImages()));
   }
 
@@ -59,9 +60,9 @@
     this.data.add(this.img1);
     assertEquals(1, this.data.getImages().size());
-    this.data.add(Arrays.asList(new MapillaryAbstractImage[] { this.img2,
-        this.img3 }));
+    this.data.add(new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[] { this.img2,
+        this.img3 })));
     assertEquals(3, this.data.getImages().size());
-    this.data.add(Arrays.asList(new MapillaryAbstractImage[] { this.img3,
-        this.img4 }));
+    this.data.add(new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[] { this.img3,
+        this.img4 })));
     assertEquals(4, this.data.getImages().size());
   }
Index: applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/history/MapillaryRecordTest.java
===================================================================
--- applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/history/MapillaryRecordTest.java	(revision 31833)
+++ applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/history/MapillaryRecordTest.java	(revision 31882)
@@ -7,4 +7,5 @@
 
 import java.util.Arrays;
+import java.util.concurrent.ConcurrentSkipListSet;
 
 import org.junit.Before;
@@ -28,5 +29,4 @@
  *
  * @author nokutu
- *
  */
 public class MapillaryRecordTest extends AbstractTest {
@@ -56,17 +56,17 @@
   public void commandTest() {
     MapillaryCommand cmd12 = new CommandMove(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }),
-        0.1, 0.1);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2})),
+            0.1, 0.1);
     MapillaryCommand cmd23 = new CommandMove(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img2, this.img3 }),
-        0.1, 0.1);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img2, this.img3})),
+            0.1, 0.1);
     MapillaryCommand cmd13 = new CommandMove(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img3 }),
-        0.1, 0.1);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img3})),
+            0.1, 0.1);
     MapillaryCommand cmd1 = new CommandMove(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1 }), 0.1, 0.1);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1})), 0.1, 0.1);
     MapillaryCommand cmd31 = new CommandMove(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img3, this.img1 }),
-        0.2, 0.2);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img3, this.img1})),
+            0.2, 0.2);
     this.record.addCommand(cmd12);
     this.record.addCommand(cmd23);
@@ -112,9 +112,9 @@
   public void commandMoveTest() {
     CommandMove cmd1 = new CommandMove(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }),
-        0.1, 0.1);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2})),
+            0.1, 0.1);
     CommandMove cmd2 = new CommandMove(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }),
-        0.1, 0.1);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2})),
+            0.1, 0.1);
 
     this.record.addCommand(cmd1);
@@ -146,9 +146,9 @@
   public void commandTurnTest() {
     CommandTurn cmd1 = new CommandTurn(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }),
-        0.2);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2})),
+            0.2);
     CommandTurn cmd2 = new CommandTurn(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }),
-        0.1);
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2})),
+            0.1);
 
     this.record.addCommand(cmd1);
@@ -177,7 +177,7 @@
   public void commandJoinClass() {
     CommandJoin cmd1 = new CommandJoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2}));
     CommandJoin cmd2 = new CommandJoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img2, this.img3 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img2, this.img3}));
 
     this.record.addCommand(cmd1);
@@ -193,6 +193,6 @@
     try {
       this.record.addCommand(new CommandJoin(Arrays
-          .asList(new MapillaryAbstractImage[] { this.img1, this.img2,
-              this.img3 })));
+              .asList(new MapillaryAbstractImage[]{this.img1, this.img2,
+                      this.img3})));
       fail();
     } catch (IllegalArgumentException e) {
@@ -209,12 +209,12 @@
   public void commandUnjoinClass() {
     CommandJoin join1 = new CommandJoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2}));
     CommandJoin join2 = new CommandJoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img2, this.img3 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img2, this.img3}));
 
     CommandUnjoin cmd1 = new CommandUnjoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2}));
     CommandUnjoin cmd2 = new CommandUnjoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img2, this.img3 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img2, this.img3}));
 
     this.record.addCommand(join1);
@@ -232,6 +232,6 @@
     try {
       this.record.addCommand(new CommandUnjoin(Arrays
-          .asList(new MapillaryAbstractImage[] { this.img1, this.img2,
-              this.img3 })));
+              .asList(new MapillaryAbstractImage[]{this.img1, this.img2,
+                      this.img3})));
       fail();
     } catch (IllegalArgumentException e) {
@@ -248,12 +248,12 @@
   public void commandDeleteTest() {
     CommandJoin join1 = new CommandJoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2}));
     CommandJoin join2 = new CommandJoin(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img2, this.img3 }));
+            Arrays.asList(new MapillaryAbstractImage[]{this.img2, this.img3}));
 
     CommandDelete cmd1 = new CommandDelete(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1 }));
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1})));
     CommandDelete cmd2 = new CommandDelete(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img2, this.img3 }));
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img2, this.img3})));
 
     this.record.addCommand(join1);
@@ -261,9 +261,9 @@
 
     MapillaryLayer
-        .getInstance()
-        .getData()
-        .add(
-            Arrays.asList(new MapillaryAbstractImage[] { this.img1, this.img2,
-                this.img3 }));
+            .getInstance()
+            .getData()
+            .add(
+                    new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1, this.img2,
+                            this.img3})));
 
     this.record.addCommand(cmd1);
@@ -286,7 +286,7 @@
 
     CommandImport cmd1 = new CommandImport(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img1 }));
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img1})));
     CommandImport cmd2 = new CommandImport(
-        Arrays.asList(new MapillaryAbstractImage[] { this.img2, this.img3 }));
+            new ConcurrentSkipListSet(Arrays.asList(new MapillaryAbstractImage[]{this.img2, this.img3})));
 
     this.record.addCommand(cmd1);
