Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImageTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImageTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImageTest.java	(revision 36194)
@@ -9,20 +9,20 @@
 
 class StreetsideAbstractImageTest {
-  @Test
-  void testIsModified() {
-    StreetsideImage img = new StreetsideImage("key___________________", new LatLon(0, 0), 0);
-    assertFalse(img.isModified());
-    img.turn(1e-4);
-    img.stopMoving();
-    assertTrue(img.isModified());
-    img.turn(-1e-4);
-    img.stopMoving();
-    assertFalse(img.isModified());
-    img.move(1e-4, 1e-4);
-    img.stopMoving();
-    assertTrue(img.isModified());
-    img.move(-1e-4, -1e-4);
-    img.stopMoving();
-    assertFalse(img.isModified());
-  }
+    @Test
+    void testIsModified() {
+        StreetsideImage img = new StreetsideImage("key___________________", new LatLon(0, 0), 0);
+        assertFalse(img.isModified());
+        img.turn(1e-4);
+        img.stopMoving();
+        assertTrue(img.isModified());
+        img.turn(-1e-4);
+        img.stopMoving();
+        assertFalse(img.isModified());
+        img.move(1e-4, 1e-4);
+        img.stopMoving();
+        assertTrue(img.isModified());
+        img.move(-1e-4, -1e-4);
+        img.stopMoving();
+        assertFalse(img.isModified());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideDataTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideDataTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideDataTest.java	(revision 36194)
@@ -1,5 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside;
-
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -13,5 +12,4 @@
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIf;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.testutils.annotations.Main;
@@ -26,132 +24,132 @@
 class StreetsideDataTest {
 
-  private StreetsideData data;
-  private StreetsideImage img1;
-  private StreetsideImage img2;
-  private StreetsideImage img3;
-  private StreetsideImage img4;
+    private StreetsideData data;
+    private StreetsideImage img1;
+    private StreetsideImage img2;
+    private StreetsideImage img3;
+    private StreetsideImage img4;
 
-  /**
-   * Creates a sample {@link StreetsideData} objects, 4 {@link StreetsideImage}
-   * objects and a {@link StreetsideSequence} object.
-   */
-  @BeforeEach
-  public void setUp() {
-    img1 = new StreetsideImage("id1__________________", new LatLon(0.1, 0.1), 90);
-    img2 = new StreetsideImage("id2__________________", new LatLon(0.2, 0.2), 90);
-    img3 = new StreetsideImage("id3__________________", new LatLon(0.3, 0.3), 90);
-    img4 = new StreetsideImage("id4__________________", new LatLon(0.4, 0.4), 90);
-    final StreetsideSequence seq = new StreetsideSequence();
+    /**
+     * Creates a sample {@link StreetsideData} objects, 4 {@link StreetsideImage}
+     * objects and a {@link StreetsideSequence} object.
+     */
+    @BeforeEach
+    public void setUp() {
+        img1 = new StreetsideImage("id1__________________", new LatLon(0.1, 0.1), 90);
+        img2 = new StreetsideImage("id2__________________", new LatLon(0.2, 0.2), 90);
+        img3 = new StreetsideImage("id3__________________", new LatLon(0.3, 0.3), 90);
+        img4 = new StreetsideImage("id4__________________", new LatLon(0.4, 0.4), 90);
+        final StreetsideSequence seq = new StreetsideSequence();
 
-    seq.add(Arrays.asList(img1, img2, img3, img4));
+        seq.add(Arrays.asList(img1, img2, img3, img4));
 
-    data = new StreetsideData();
-    data.addAll(new ConcurrentSkipListSet<>(seq.getImages()));
-  }
+        data = new StreetsideData();
+        data.addAll(new ConcurrentSkipListSet<>(seq.getImages()));
+    }
 
-  /**
-   * Tests the addition of new images. If a second image with the same key as
-   * another one in the database, the one that is being added should be ignored.
-   */
-  @Test
-  void testAdd() {
-    data = new StreetsideData();
-    assertEquals(0, data.getImages().size());
-    data.add(img1);
-    assertEquals(1, data.getImages().size());
-    data.add(img1);
-    assertEquals(1, data.getImages().size());
-    data.addAll(new ConcurrentSkipListSet<>(Arrays.asList(img2, img3)));
-    assertEquals(3, data.getImages().size());
-    data.addAll(new ConcurrentSkipListSet<>(Arrays.asList(img3, img4)));
-    assertEquals(4, data.getImages().size());
-  }
+    /**
+     * Tests the addition of new images. If a second image with the same key as
+     * another one in the database, the one that is being added should be ignored.
+     */
+    @Test
+    void testAdd() {
+        data = new StreetsideData();
+        assertEquals(0, data.getImages().size());
+        data.add(img1);
+        assertEquals(1, data.getImages().size());
+        data.add(img1);
+        assertEquals(1, data.getImages().size());
+        data.addAll(new ConcurrentSkipListSet<>(Arrays.asList(img2, img3)));
+        assertEquals(3, data.getImages().size());
+        data.addAll(new ConcurrentSkipListSet<>(Arrays.asList(img3, img4)));
+        assertEquals(4, data.getImages().size());
+    }
 
-  /**
-   * Test that the size is properly calculated.
-   */
-  @Test
-  void testSize() {
-    assertEquals(4, data.getImages().size());
-    data.add(new StreetsideImage("id5__________________", new LatLon(0.1, 0.1), 90));
-    assertEquals(5, data.getImages().size());
-  }
+    /**
+     * Test that the size is properly calculated.
+     */
+    @Test
+    void testSize() {
+        assertEquals(4, data.getImages().size());
+        data.add(new StreetsideImage("id5__________________", new LatLon(0.1, 0.1), 90));
+        assertEquals(5, data.getImages().size());
+    }
 
-  /**
-   * Test the {@link StreetsideData#setHighlightedImage(StreetsideAbstractImage)}
-   * and {@link StreetsideData#getHighlightedImage()} methods.
-   */
-  @Test
-  void testHighlight() {
-    data.setHighlightedImage(img1);
-    assertEquals(img1, data.getHighlightedImage());
+    /**
+     * Test the {@link StreetsideData#setHighlightedImage(StreetsideAbstractImage)}
+     * and {@link StreetsideData#getHighlightedImage()} methods.
+     */
+    @Test
+    void testHighlight() {
+        data.setHighlightedImage(img1);
+        assertEquals(img1, data.getHighlightedImage());
 
-    data.setHighlightedImage(null);
-    assertNull(data.getHighlightedImage());
-  }
+        data.setHighlightedImage(null);
+        assertNull(data.getHighlightedImage());
+    }
 
-  /**
-   * Tests the selection of images.
-   */
-  @Disabled("The imgs have non-int identifiers while the code expects the identifiers to be int in string form")
-  @Test
-  void testSelect() {
-    data.setSelectedImage(img1);
-    assertEquals(img1, data.getSelectedImage());
+    /**
+     * Tests the selection of images.
+     */
+    @Disabled("The imgs have non-int identifiers while the code expects the identifiers to be int in string form")
+    @Test
+    void testSelect() {
+        data.setSelectedImage(img1);
+        assertEquals(img1, data.getSelectedImage());
 
-    data.setSelectedImage(img4);
-    assertEquals(img4, data.getSelectedImage());
+        data.setSelectedImage(img4);
+        assertEquals(img4, data.getSelectedImage());
 
-    data.setSelectedImage(null);
-    assertNull(data.getSelectedImage());
-  }
+        data.setSelectedImage(null);
+        assertNull(data.getSelectedImage());
+    }
 
-  /**
-   * Tests the {@link StreetsideData#selectNext()} and
-   * {@link StreetsideData#selectPrevious()} methods.
-   */
-  @Test
-  @Disabled("The imgs have non-int identifiers while the code expects the identifiers to be int in string form")
-  void testNextAndPrevious() {
-    data.setSelectedImage(img1);
+    /**
+     * Tests the {@link StreetsideData#selectNext()} and
+     * {@link StreetsideData#selectPrevious()} methods.
+     */
+    @Test
+    @Disabled("The imgs have non-int identifiers while the code expects the identifiers to be int in string form")
+    void testNextAndPrevious() {
+        data.setSelectedImage(img1);
 
-    data.selectNext();
-    assertEquals(img2, data.getSelectedImage());
-    data.selectNext();
-    assertEquals(img3, data.getSelectedImage());
-    data.selectPrevious();
-    assertEquals(img2, data.getSelectedImage());
+        data.selectNext();
+        assertEquals(img2, data.getSelectedImage());
+        data.selectNext();
+        assertEquals(img3, data.getSelectedImage());
+        data.selectPrevious();
+        assertEquals(img2, data.getSelectedImage());
 
-    data.setSelectedImage(null);
-  }
+        data.setSelectedImage(null);
+    }
 
-  @Disabled("Someone decided to not throw an IllegalStateException. No clue why.")
-  @Test
-  void testNextOfNullImg() {
-    data.setSelectedImage(null);
-    assertThrows(IllegalStateException.class, data::selectNext);
-  }
+    @Disabled("Someone decided to not throw an IllegalStateException. No clue why.")
+    @Test
+    void testNextOfNullImg() {
+        data.setSelectedImage(null);
+        assertThrows(IllegalStateException.class, data::selectNext);
+    }
 
-  @Disabled("Someone decided to not throw an IllegalStateException. No clue why.")
-  @Test
-  void testPreviousOfNullImg() {
-    data.setSelectedImage(null);
-    assertThrows(IllegalStateException.class, data::selectPrevious);
-  }
+    @Disabled("Someone decided to not throw an IllegalStateException. No clue why.")
+    @Test
+    void testPreviousOfNullImg() {
+        data.setSelectedImage(null);
+        assertThrows(IllegalStateException.class, data::selectPrevious);
+    }
 
-  /**
-   * Test the multiselection of images. When a new image is selected, the
-   * multiselected List should reset.
-   */
-  @Disabled("The imgs have non-int identifiers while the code expects the identifiers to be int in string form")
-  @Test
-  void testMultiSelect() {
-    assertEquals(0, data.getMultiSelectedImages().size());
-    data.setSelectedImage(img1);
-    assertEquals(1, data.getMultiSelectedImages().size());
-    data.addMultiSelectedImage(img2);
-    assertEquals(2, data.getMultiSelectedImages().size());
-    data.setSelectedImage(img1);
-    assertEquals(1, data.getMultiSelectedImages().size());
-  }
+    /**
+     * Test the multiselection of images. When a new image is selected, the
+     * multiselected List should reset.
+     */
+    @Disabled("The imgs have non-int identifiers while the code expects the identifiers to be int in string form")
+    @Test
+    void testMultiSelect() {
+        assertEquals(0, data.getMultiSelectedImages().size());
+        data.setSelectedImage(img1);
+        assertEquals(1, data.getMultiSelectedImages().size());
+        data.addMultiSelectedImage(img2);
+        assertEquals(2, data.getMultiSelectedImages().size());
+        data.setSelectedImage(img1);
+        assertEquals(1, data.getMultiSelectedImages().size());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideLayerTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideLayerTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideLayerTest.java	(revision 36194)
@@ -24,61 +24,62 @@
 @Projection
 class StreetsideLayerTest {
-  private static Layer getDummyLayer() {
-    return ImageryLayer.create(new ImageryInfo("dummy", "https://example.org"));
-  }
-
-  @Test
-  void testGetIcon() {
-    assertNotNull(StreetsideLayer.getInstance().getIcon());
-  }
-
-  @Test
-  void testIsMergable() {
-    assertFalse(StreetsideLayer.getInstance().isMergable(getDummyLayer()));
-  }
-
-  @Test
-  void testMergeFrom() {
-    StreetsideLayer layer = StreetsideLayer.getInstance();
-    Layer dummyLayer = getDummyLayer();
-    assertThrows(UnsupportedOperationException.class, () -> layer.mergeFrom(dummyLayer));
-  }
-
-  @Test
-  void testSetVisible() {
-    StreetsideLayer.getInstance().getData().add(new StreetsideImage(CubemapUtils.TEST_IMAGE_ID, new LatLon(0.0, 0.0), 0.0));
-    StreetsideLayer.getInstance().getData().add(new StreetsideImage(CubemapUtils.TEST_IMAGE_ID, new LatLon(0.0, 0.0), 0.0));
-    StreetsideImage invisibleImage = new StreetsideImage(CubemapUtils.TEST_IMAGE_ID, new LatLon(0.0, 0.0), 0.0);
-    invisibleImage.setVisible(false);
-    StreetsideLayer.getInstance().getData().add(invisibleImage);
-
-    StreetsideLayer.getInstance().setVisible(false);
-    for (StreetsideAbstractImage img : StreetsideLayer.getInstance().getData().getImages()) {
-      assertFalse(img.isVisible());
+    private static Layer getDummyLayer() {
+        return ImageryLayer.create(new ImageryInfo("dummy", "https://example.org"));
     }
 
+    @Test
+    void testGetIcon() {
+        assertNotNull(StreetsideLayer.getInstance().getIcon());
+    }
 
-    StreetsideLayer.getInstance().setVisible(true);
-    for (StreetsideAbstractImage img : StreetsideLayer.getInstance().getData().getImages()) {
-      assertTrue(img.isVisible());
+    @Test
+    void testIsMergable() {
+        assertFalse(StreetsideLayer.getInstance().isMergable(getDummyLayer()));
     }
-  }
 
-  @Test
-  void testGetInfoComponent() {
-    Object comp = StreetsideLayer.getInstance().getInfoComponent();
-    assertInstanceOf(String.class, comp);
-    assertTrue(((String) comp).length() >= 9);
-  }
+    @Test
+    void testMergeFrom() {
+        StreetsideLayer layer = StreetsideLayer.getInstance();
+        Layer dummyLayer = getDummyLayer();
+        assertThrows(UnsupportedOperationException.class, () -> layer.mergeFrom(dummyLayer));
+    }
 
-  @DisabledIf(value = "java.awt.GraphicsEnvironment#isHeadless", disabledReason = "Listener for destruction is only registered in non-headless environments")
-  @Test
-  void testClearInstance() {
-    StreetsideLayer.getInstance();
-    assertTrue(StreetsideLayer.hasInstance());
-    JOSMTestRules.cleanLayerEnvironment();
-    assertFalse(StreetsideLayer.hasInstance());
-    StreetsideLayer.getInstance();
-    assertTrue(StreetsideLayer.hasInstance());
-  }
+    @Test
+    void testSetVisible() {
+        StreetsideLayer.getInstance().getData()
+                .add(new StreetsideImage(CubemapUtils.TEST_IMAGE_ID, new LatLon(0.0, 0.0), 0.0));
+        StreetsideLayer.getInstance().getData()
+                .add(new StreetsideImage(CubemapUtils.TEST_IMAGE_ID, new LatLon(0.0, 0.0), 0.0));
+        StreetsideImage invisibleImage = new StreetsideImage(CubemapUtils.TEST_IMAGE_ID, new LatLon(0.0, 0.0), 0.0);
+        invisibleImage.setVisible(false);
+        StreetsideLayer.getInstance().getData().add(invisibleImage);
+
+        StreetsideLayer.getInstance().setVisible(false);
+        for (StreetsideAbstractImage img : StreetsideLayer.getInstance().getData().getImages()) {
+            assertFalse(img.isVisible());
+        }
+
+        StreetsideLayer.getInstance().setVisible(true);
+        for (StreetsideAbstractImage img : StreetsideLayer.getInstance().getData().getImages()) {
+            assertTrue(img.isVisible());
+        }
+    }
+
+    @Test
+    void testGetInfoComponent() {
+        Object comp = StreetsideLayer.getInstance().getInfoComponent();
+        assertInstanceOf(String.class, comp);
+        assertTrue(((String) comp).length() >= 9);
+    }
+
+    @DisabledIf(value = "java.awt.GraphicsEnvironment#isHeadless", disabledReason = "Listener for destruction is only registered in non-headless environments")
+    @Test
+    void testClearInstance() {
+        StreetsideLayer.getInstance();
+        assertTrue(StreetsideLayer.hasInstance());
+        JOSMTestRules.cleanLayerEnvironment();
+        assertFalse(StreetsideLayer.hasInstance());
+        StreetsideLayer.getInstance();
+        assertTrue(StreetsideLayer.hasInstance());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideSequenceTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideSequenceTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideSequenceTest.java	(revision 36194)
@@ -20,47 +20,46 @@
 class StreetsideSequenceTest {
 
-  private final StreetsideImage img1 = new StreetsideImage("key1", new LatLon(0.1, 0.1), 90);
-  private final StreetsideImage img2 = new StreetsideImage("key2", new LatLon(0.2, 0.2), 90);
-  private final StreetsideImage img3 = new StreetsideImage("key3", new LatLon(0.3, 0.3), 90);
-  private final StreetsideImage img4 = new StreetsideImage("key4", new LatLon(0.4, 0.4), 90);
-  private final StreetsideImage imgWithoutSeq = new StreetsideImage("key5", new LatLon(0.5, 0.5), 90);
-  private final StreetsideSequence seq = new StreetsideSequence();
+    private final StreetsideImage img1 = new StreetsideImage("key1", new LatLon(0.1, 0.1), 90);
+    private final StreetsideImage img2 = new StreetsideImage("key2", new LatLon(0.2, 0.2), 90);
+    private final StreetsideImage img3 = new StreetsideImage("key3", new LatLon(0.3, 0.3), 90);
+    private final StreetsideImage img4 = new StreetsideImage("key4", new LatLon(0.4, 0.4), 90);
+    private final StreetsideImage imgWithoutSeq = new StreetsideImage("key5", new LatLon(0.5, 0.5), 90);
+    private final StreetsideSequence seq = new StreetsideSequence();
 
-  /**
-   * Creates 4 {@link StreetsideImage} objects and puts them in a
-   * {@link StreetsideSequence} object.
-   */
-  @BeforeEach
-  public void setUp() {
-    seq.add(Arrays.asList(img1, img2, img3, img4));
-  }
+    /**
+     * Creates 4 {@link StreetsideImage} objects and puts them in a
+     * {@link StreetsideSequence} object.
+     */
+    @BeforeEach
+    public void setUp() {
+        seq.add(Arrays.asList(img1, img2, img3, img4));
+    }
 
-  /**
-   * Tests the {@link StreetsideSequence#next(StreetsideAbstractImage)} and
-   * {@link StreetsideSequence#previous(StreetsideAbstractImage)}.
-   */
-  @Test
-  void testNextAndPrevious() {
-    assertEquals(img2, img1.next());
-    assertEquals(img1, img2.previous());
-    assertEquals(img3, img2.next());
-    assertEquals(img2, img3.previous());
-    assertEquals(img4, img3.next());
-    assertEquals(img3, img4.previous());
+    /**
+     * Tests the {@link StreetsideSequence#next(StreetsideAbstractImage)} and
+     * {@link StreetsideSequence#previous(StreetsideAbstractImage)}.
+     */
+    @Test
+    void testNextAndPrevious() {
+        assertEquals(img2, img1.next());
+        assertEquals(img1, img2.previous());
+        assertEquals(img3, img2.next());
+        assertEquals(img2, img3.previous());
+        assertEquals(img4, img3.next());
+        assertEquals(img3, img4.previous());
 
+        assertNull(img4.next());
+        assertNull(img1.previous());
 
-    assertNull(img4.next());
-    assertNull(img1.previous());
+        assertNull(imgWithoutSeq.next());
+        assertNull(imgWithoutSeq.previous());
 
-    assertNull(imgWithoutSeq.next());
-    assertNull(imgWithoutSeq.previous());
+        // Test IllegalArgumentException when asking for the next image of an image
+        // that is not in the sequence.
+        assertThrows(IllegalArgumentException.class, () -> seq.next(imgWithoutSeq));
 
-    // Test IllegalArgumentException when asking for the next image of an image
-    // that is not in the sequence.
-    assertThrows(IllegalArgumentException.class, () -> seq.next(imgWithoutSeq));
-
-    // Test IllegalArgumentException when asking for the previous image of an
-    // image that is not in the sequence.
-    assertThrows(IllegalArgumentException.class, () -> seq.previous(imgWithoutSeq));
-  }
+        // Test IllegalArgumentException when asking for the previous image of an
+        // image that is not in the sequence.
+        assertThrows(IllegalArgumentException.class, () -> seq.previous(imgWithoutSeq));
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cache/CachesTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cache/CachesTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cache/CachesTest.java	(revision 36194)
@@ -1,5 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.cache;
-
 
 import org.junit.jupiter.api.Test;
@@ -8,7 +7,7 @@
 class CachesTest {
 
-  @Test
-  void testUtilityClass() {
-    TestUtil.testUtilityClass(Caches.class);
-  }
+    @Test
+    void testUtilityClass() {
+        TestUtil.testUtilityClass(Caches.class);
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cache/StreetsideCacheTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cache/StreetsideCacheTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cache/StreetsideCacheTest.java	(revision 36194)
@@ -13,19 +13,19 @@
 class StreetsideCacheTest {
 
-  @Test
-  void testCache() {
-    StreetsideCache cache = new StreetsideCache("00000", Type.FULL_IMAGE);
-    assertNotNull(cache.getUrl());
-    assertNotNull(cache.getCacheKey());
+    @Test
+    void testCache() {
+        StreetsideCache cache = new StreetsideCache("00000", Type.FULL_IMAGE);
+        assertNotNull(cache.getUrl());
+        assertNotNull(cache.getCacheKey());
 
-    assertFalse(cache.isObjectLoadable());
+        assertFalse(cache.isObjectLoadable());
 
-    cache = new StreetsideCache("00000", Type.THUMBNAIL);
-    assertNotNull(cache.getCacheKey());
-    assertNotNull(cache.getUrl());
+        cache = new StreetsideCache("00000", Type.THUMBNAIL);
+        assertNotNull(cache.getCacheKey());
+        assertNotNull(cache.getUrl());
 
-    cache = new StreetsideCache(null, null);
-    assertNull(cache.getCacheKey());
-    assertNull(cache.getUrl());
-  }
+        cache = new StreetsideCache(null, null);
+        assertNull(cache.getCacheKey());
+        assertNull(cache.getUrl());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtilsTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtilsTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtilsTest.java	(revision 36194)
@@ -1,4 +1,4 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.cubemap;
-
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -9,93 +9,93 @@
 class CubemapUtilsTest {
 
-  @Test
-  void testConvertDecimal2Quaternary() {
-   final long decimal0 = 680730040L;
-   final long decimal1 = 680931568L;
-   String res = CubemapUtils.convertDecimal2Quaternary(decimal0);
-   assertEquals("220210301312320", res);
-   res = CubemapUtils.convertDecimal2Quaternary(decimal1);
-   assertEquals("220211203003300", res);
-  }
+    @Test
+    void testConvertDecimal2Quaternary() {
+        final long decimal0 = 680730040L;
+        final long decimal1 = 680931568L;
+        String res = CubemapUtils.convertDecimal2Quaternary(decimal0);
+        assertEquals("220210301312320", res);
+        res = CubemapUtils.convertDecimal2Quaternary(decimal1);
+        assertEquals("220211203003300", res);
+    }
 
-  @Test
-  void testConvertQuaternary2Decimal() {
-    final String quadKey0 = "220210301312320";
-    final String quadKey1 = "220211203003300";
-    String res = CubemapUtils.convertQuaternary2Decimal(quadKey0);
-    assertEquals("680730040", res);
-    res = CubemapUtils.convertQuaternary2Decimal(quadKey1);
-    assertEquals("680931568", res);
-  }
+    @Test
+    void testConvertQuaternary2Decimal() {
+        final String quadKey0 = "220210301312320";
+        final String quadKey1 = "220211203003300";
+        String res = CubemapUtils.convertQuaternary2Decimal(quadKey0);
+        assertEquals("680730040", res);
+        res = CubemapUtils.convertQuaternary2Decimal(quadKey1);
+        assertEquals("680931568", res);
+    }
 
-  @Disabled
-  @Test
-  void testGetFaceNumberForCount() {
-    String faceNrFront = CubemapUtils.getFaceNumberForCount(0);
-    String faceNrRight = CubemapUtils.getFaceNumberForCount(1);
-    String faceNrBack = CubemapUtils.getFaceNumberForCount(2);
-    String faceNrLeft = CubemapUtils.getFaceNumberForCount(3);
-    String faceNrUp = CubemapUtils.getFaceNumberForCount(4);
-    String faceNrDown = CubemapUtils.getFaceNumberForCount(5);
-    assertEquals(faceNrFront, "01");
-    assertEquals(faceNrRight, "02");
-    assertEquals(faceNrBack, "03");
-    assertEquals(faceNrLeft, "10");
-    assertEquals(faceNrUp, "11");
-    assertEquals(faceNrDown, "12");
-  }
+    @Disabled
+    @Test
+    void testGetFaceNumberForCount() {
+        String faceNrFront = CubemapUtils.getFaceNumberForCount(0);
+        String faceNrRight = CubemapUtils.getFaceNumberForCount(1);
+        String faceNrBack = CubemapUtils.getFaceNumberForCount(2);
+        String faceNrLeft = CubemapUtils.getFaceNumberForCount(3);
+        String faceNrUp = CubemapUtils.getFaceNumberForCount(4);
+        String faceNrDown = CubemapUtils.getFaceNumberForCount(5);
+        assertEquals(faceNrFront, "01");
+        assertEquals(faceNrRight, "02");
+        assertEquals(faceNrBack, "03");
+        assertEquals(faceNrLeft, "10");
+        assertEquals(faceNrUp, "11");
+        assertEquals(faceNrDown, "12");
+    }
 
-  @Disabled
-  @Test
-  void testGetCount4FaceNumber() {
-    int count4Front = CubemapUtils.getCount4FaceNumber("01");
-    int count4Right = CubemapUtils.getCount4FaceNumber("02");
-    int count4Back = CubemapUtils.getCount4FaceNumber("03");
-    int count4Left = CubemapUtils.getCount4FaceNumber("10");
-    int count4Up = CubemapUtils.getCount4FaceNumber("11");
-    int count4Down = CubemapUtils.getCount4FaceNumber("12");
-    assertEquals(count4Front, 0);
-    assertEquals(count4Right, 1);
-    assertEquals(count4Back, 2);
-    assertEquals(count4Left, 3);
-    assertEquals(count4Up, 4);
-    assertEquals(count4Down, 5);
-  }
+    @Disabled
+    @Test
+    void testGetCount4FaceNumber() {
+        int count4Front = CubemapUtils.getCount4FaceNumber("01");
+        int count4Right = CubemapUtils.getCount4FaceNumber("02");
+        int count4Back = CubemapUtils.getCount4FaceNumber("03");
+        int count4Left = CubemapUtils.getCount4FaceNumber("10");
+        int count4Up = CubemapUtils.getCount4FaceNumber("11");
+        int count4Down = CubemapUtils.getCount4FaceNumber("12");
+        assertEquals(count4Front, 0);
+        assertEquals(count4Right, 1);
+        assertEquals(count4Back, 2);
+        assertEquals(count4Left, 3);
+        assertEquals(count4Up, 4);
+        assertEquals(count4Down, 5);
+    }
 
-  @Test
-  void testConvertDoubleCountNrto16TileNr() {
-    String x0y0 = CubemapUtils.convertDoubleCountNrto16TileNr("00");
-    String x0y1 = CubemapUtils.convertDoubleCountNrto16TileNr("01");
-    String x0y2 = CubemapUtils.convertDoubleCountNrto16TileNr("02");
-    String x0y3 = CubemapUtils.convertDoubleCountNrto16TileNr("03");
-    String x1y0 = CubemapUtils.convertDoubleCountNrto16TileNr("10");
-    String x1y1 = CubemapUtils.convertDoubleCountNrto16TileNr("11");
-    String x1y2 = CubemapUtils.convertDoubleCountNrto16TileNr("12");
-    String x1y3 = CubemapUtils.convertDoubleCountNrto16TileNr("13");
-    String x2y0 = CubemapUtils.convertDoubleCountNrto16TileNr("20");
-    String x2y1 = CubemapUtils.convertDoubleCountNrto16TileNr("21");
-    String x2y2 = CubemapUtils.convertDoubleCountNrto16TileNr("22");
-    String x2y3 = CubemapUtils.convertDoubleCountNrto16TileNr("23");
-    String x3y0 = CubemapUtils.convertDoubleCountNrto16TileNr("30");
-    String x3y1 = CubemapUtils.convertDoubleCountNrto16TileNr("31");
-    String x3y2 = CubemapUtils.convertDoubleCountNrto16TileNr("32");
-    String x3y3 = CubemapUtils.convertDoubleCountNrto16TileNr("33");
+    @Test
+    void testConvertDoubleCountNrto16TileNr() {
+        String x0y0 = CubemapUtils.convertDoubleCountNrto16TileNr("00");
+        String x0y1 = CubemapUtils.convertDoubleCountNrto16TileNr("01");
+        String x0y2 = CubemapUtils.convertDoubleCountNrto16TileNr("02");
+        String x0y3 = CubemapUtils.convertDoubleCountNrto16TileNr("03");
+        String x1y0 = CubemapUtils.convertDoubleCountNrto16TileNr("10");
+        String x1y1 = CubemapUtils.convertDoubleCountNrto16TileNr("11");
+        String x1y2 = CubemapUtils.convertDoubleCountNrto16TileNr("12");
+        String x1y3 = CubemapUtils.convertDoubleCountNrto16TileNr("13");
+        String x2y0 = CubemapUtils.convertDoubleCountNrto16TileNr("20");
+        String x2y1 = CubemapUtils.convertDoubleCountNrto16TileNr("21");
+        String x2y2 = CubemapUtils.convertDoubleCountNrto16TileNr("22");
+        String x2y3 = CubemapUtils.convertDoubleCountNrto16TileNr("23");
+        String x3y0 = CubemapUtils.convertDoubleCountNrto16TileNr("30");
+        String x3y1 = CubemapUtils.convertDoubleCountNrto16TileNr("31");
+        String x3y2 = CubemapUtils.convertDoubleCountNrto16TileNr("32");
+        String x3y3 = CubemapUtils.convertDoubleCountNrto16TileNr("33");
 
-    assertEquals(x0y0, "00");
-    assertEquals(x0y1, "01");
-    assertEquals(x0y2, "10");
-    assertEquals(x0y3, "11");
-    assertEquals(x1y0, "02");
-    assertEquals(x1y1, "03");
-    assertEquals(x1y2, "12");
-    assertEquals(x1y3, "13");
-    assertEquals(x2y0, "20");
-    assertEquals(x2y1, "21");
-    assertEquals(x2y2, "30");
-    assertEquals(x2y3, "31");
-    assertEquals(x3y0, "22");
-    assertEquals(x3y1, "23");
-    assertEquals(x3y2, "32");
-    assertEquals(x3y3, "33");
-  }
+        assertEquals(x0y0, "00");
+        assertEquals(x0y1, "01");
+        assertEquals(x0y2, "10");
+        assertEquals(x0y3, "11");
+        assertEquals(x1y0, "02");
+        assertEquals(x1y1, "03");
+        assertEquals(x1y2, "12");
+        assertEquals(x1y3, "13");
+        assertEquals(x2y0, "20");
+        assertEquals(x2y1, "21");
+        assertEquals(x2y2, "30");
+        assertEquals(x2y3, "31");
+        assertEquals(x3y0, "22");
+        assertEquals(x3y1, "23");
+        assertEquals(x3y2, "32");
+        assertEquals(x3y3, "33");
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTaskTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTaskTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTaskTest.java	(revision 36194)
@@ -1,4 +1,4 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.cubemap;
-
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -17,11 +17,11 @@
 class TileDownloadingTaskTest {
 
-  @Test
-  final void testCall() throws InterruptedException {
-    ExecutorService pool = Executors.newFixedThreadPool(1);
-    List<Callable<List<String>>> tasks = new ArrayList<>(1);
-      tasks.add(new TileDownloadingTask("2202112030033001233"));
-    List<Future<List<String>>> results = pool.invokeAll(tasks);
-    assertEquals(results.get(0), "2202112030033001233");
-  }
+    @Test
+    final void testCall() throws InterruptedException {
+        ExecutorService pool = Executors.newFixedThreadPool(1);
+        List<Callable<List<String>>> tasks = new ArrayList<>(1);
+        tasks.add(new TileDownloadingTask("2202112030033001233"));
+        List<Future<List<String>>> results = pool.invokeAll(tasks);
+        assertEquals(results.get(0), "2202112030033001233");
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/ImageDisplayTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/ImageDisplayTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/ImageDisplayTest.java	(revision 36194)
@@ -20,66 +20,68 @@
 class ImageDisplayTest {
 
-  private static final BufferedImage DUMMY_IMAGE = new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB);
+    private static final BufferedImage DUMMY_IMAGE = new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB);
 
-  @Test
-  void testImagePersistence() {
-    StreetsideImageDisplay display = new StreetsideImageDisplay();
-    display.setImage(DUMMY_IMAGE, null);
-    assertEquals(DUMMY_IMAGE, display.getImage());
-  }
+    @Test
+    void testImagePersistence() {
+        StreetsideImageDisplay display = new StreetsideImageDisplay();
+        display.setImage(DUMMY_IMAGE, null);
+        assertEquals(DUMMY_IMAGE, display.getImage());
+    }
 
-  /**
-   * This test does not check if the scroll events result in the correct changes in the {@link StreetsideImageDisplay},
-   * it only checks if the tested method runs through.
-   */
+    /**
+     * This test does not check if the scroll events result in the correct changes in the {@link StreetsideImageDisplay},
+     * it only checks if the tested method runs through.
+     */
 
-  @Test
-  void testMouseWheelMoved() {
-    if (GraphicsEnvironment.isHeadless()) {
-      return;
+    @Test
+    void testMouseWheelMoved() {
+        if (GraphicsEnvironment.isHeadless()) {
+            return;
+        }
+        StreetsideImageDisplay display = new StreetsideImageDisplay();
+        final MouseWheelEvent dummyScroll = new MouseWheelEvent(display, 42, System.currentTimeMillis(), 0, 0, 0, 0,
+                false, MouseWheelEvent.WHEEL_UNIT_SCROLL, 1, 3);
+        display.getMouseWheelListeners()[0].mouseWheelMoved(dummyScroll);
+
+        display.setImage(DUMMY_IMAGE, null);
+
+        display.getMouseWheelListeners()[0].mouseWheelMoved(dummyScroll);
+
+        // This is necessary to make the size of the component > 0. If you know a more elegant solution, feel free to change it.
+        JFrame frame = new JFrame();
+        frame.setSize(42, 42);
+        frame.getContentPane().add(display);
+        frame.pack();
+
+        display.getMouseWheelListeners()[0].mouseWheelMoved(dummyScroll);
     }
-    StreetsideImageDisplay display = new StreetsideImageDisplay();
-    final MouseWheelEvent dummyScroll = new MouseWheelEvent(display, 42, System.currentTimeMillis(), 0, 0, 0, 0, false, MouseWheelEvent.WHEEL_UNIT_SCROLL, 1, 3);
-    display.getMouseWheelListeners()[0].mouseWheelMoved(dummyScroll);
 
-    display.setImage(DUMMY_IMAGE, null);
+    /**
+     * This test does not check if the scroll events result in the correct changes in the {@link StreetsideImageDisplay},
+     * it only checks if the tested method runs through.
+     */
+    @Test
+    void testMouseClicked() {
+        if (GraphicsEnvironment.isHeadless()) {
+            return;
+        }
+        for (int button = 1; button <= 3; button++) {
+            StreetsideImageDisplay display = new StreetsideImageDisplay();
+            final MouseEvent dummyClick = new MouseEvent(display, 42, System.currentTimeMillis(), 0, 0, 0, 1, false,
+                    button);
+            display.getMouseListeners()[0].mouseClicked(dummyClick);
 
-    display.getMouseWheelListeners()[0].mouseWheelMoved(dummyScroll);
+            display.setImage(DUMMY_IMAGE, null);
 
-    // This is necessary to make the size of the component > 0. If you know a more elegant solution, feel free to change it.
-    JFrame frame = new JFrame();
-    frame.setSize(42, 42);
-    frame.getContentPane().add(display);
-    frame.pack();
+            display.getMouseListeners()[0].mouseClicked(dummyClick);
 
-    display.getMouseWheelListeners()[0].mouseWheelMoved(dummyScroll);
-  }
+            // This is necessary to make the size of the component > 0. If you know a more elegant solution, feel free to change it.
+            JFrame frame = new JFrame();
+            frame.setSize(42, 42);
+            frame.getContentPane().add(display);
+            frame.pack();
 
-  /**
-   * This test does not check if the scroll events result in the correct changes in the {@link StreetsideImageDisplay},
-   * it only checks if the tested method runs through.
-   */
-  @Test
-  void testMouseClicked() {
-    if (GraphicsEnvironment.isHeadless()) {
-      return;
+            display.getMouseListeners()[0].mouseClicked(dummyClick);
+        }
     }
-    for (int button = 1; button <= 3; button++) {
-      StreetsideImageDisplay display = new StreetsideImageDisplay();
-      final MouseEvent dummyClick = new MouseEvent(display, 42, System.currentTimeMillis(), 0, 0, 0, 1, false, button);
-      display.getMouseListeners()[0].mouseClicked(dummyClick);
-
-      display.setImage(DUMMY_IMAGE, null);
-
-      display.getMouseListeners()[0].mouseClicked(dummyClick);
-
-      // This is necessary to make the size of the component > 0. If you know a more elegant solution, feel free to change it.
-      JFrame frame = new JFrame();
-      frame.setSize(42, 42);
-      frame.getContentPane().add(display);
-      frame.pack();
-
-      display.getMouseListeners()[0].mouseClicked(dummyClick);
-    }
-  }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSettingTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSettingTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSettingTest.java	(revision 36194)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.gui;
 
@@ -22,85 +23,97 @@
 @Disabled
 class StreetsidePreferenceSettingTest {
-  // TODO: repair broken unit test from Mapillary
-  @Test
-  void testAddGui() {
-    if (GraphicsEnvironment.isHeadless()) {
-      return;
+    // TODO: repair broken unit test from Mapillary
+    @Test
+    void testAddGui() {
+        if (GraphicsEnvironment.isHeadless()) {
+            return;
+        }
+        PreferenceTabbedPane tabs = new PreferenceTabbedPane();
+        tabs.buildGui();
+        int displayTabs = tabs.getDisplayPreference().getTabPane().getTabCount();
+        StreetsidePreferenceSetting setting = new StreetsidePreferenceSetting();
+        setting.addGui(tabs);
+        assertEquals(displayTabs + 1, tabs.getDisplayPreference().getTabPane().getTabCount());
+        assertEquals(tabs.getDisplayPreference(), setting.getTabPreferenceSetting(tabs));
     }
-    PreferenceTabbedPane tabs = new PreferenceTabbedPane();
-    tabs.buildGui();
-    int displayTabs = tabs.getDisplayPreference().getTabPane().getTabCount();
-    StreetsidePreferenceSetting setting = new StreetsidePreferenceSetting();
-    setting.addGui(tabs);
-    assertEquals(displayTabs + 1, tabs.getDisplayPreference().getTabPane().getTabCount());
-    assertEquals(tabs.getDisplayPreference(), setting.getTabPreferenceSetting(tabs));
-  }
 
-  @Test
-  void testIsExpert() {
-    Assertions.assertFalse(new StreetsidePreferenceSetting().isExpert());
-  }
+    @Test
+    void testIsExpert() {
+        Assertions.assertFalse(new StreetsidePreferenceSetting().isExpert());
+    }
 
-  @SuppressWarnings("unchecked")
-  @Test
-  void testOk() {
-    StreetsidePreferenceSetting settings = new StreetsidePreferenceSetting();
+    @SuppressWarnings("unchecked")
+    @Test
+    void testOk() {
+        StreetsidePreferenceSetting settings = new StreetsidePreferenceSetting();
 
-    // Initialize the properties with some arbitrary value to make sure they are not unset
-    new StringProperty("streetside.display-hour", "default").put("arbitrary");
-    new StringProperty("streetside.format-24", "default").put("arbitrary");
-    new StringProperty("streetside.move-to-picture", "default").put("arbitrary");
-    new StringProperty("streetside.hover-enabled", "default").put("arbitrary");
-    new StringProperty("streetside.download-mode", "default").put("arbitrary");
-    new StringProperty("streetside.prefetch-image-count", "default").put("arbitrary");
+        // Initialize the properties with some arbitrary value to make sure they are not unset
+        new StringProperty("streetside.display-hour", "default").put("arbitrary");
+        new StringProperty("streetside.format-24", "default").put("arbitrary");
+        new StringProperty("streetside.move-to-picture", "default").put("arbitrary");
+        new StringProperty("streetside.hover-enabled", "default").put("arbitrary");
+        new StringProperty("streetside.download-mode", "default").put("arbitrary");
+        new StringProperty("streetside.prefetch-image-count", "default").put("arbitrary");
 
-    // Test checkboxes
-    settings.ok();
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "displayHour"), "streetside.display-hour");
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "format24"), "streetside.format-24");
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "moveTo"), "streetside.move-to-picture");
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "hoverEnabled"), "streetside.hover-enabled");
-    assertEquals(String.valueOf(((SpinnerNumberModel) getPrivateFieldValue(settings, "preFetchSize")).getNumber().intValue()), new StringProperty("streetside.prefetch-image-count", "default").get());
+        // Test checkboxes
+        settings.ok();
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "displayHour"),
+                "streetside.display-hour");
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "format24"),
+                "streetside.format-24");
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "moveTo"),
+                "streetside.move-to-picture");
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "hoverEnabled"),
+                "streetside.hover-enabled");
+        assertEquals(
+                String.valueOf(
+                        ((SpinnerNumberModel) getPrivateFieldValue(settings, "preFetchSize")).getNumber().intValue()),
+                new StringProperty("streetside.prefetch-image-count", "default").get());
 
-    // Toggle state of the checkboxes
-    toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "displayHour"));
-    toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "format24"));
-    toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "moveTo"));
-    toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "hoverEnabled"));
-    ((SpinnerNumberModel) getPrivateFieldValue(settings, "preFetchSize")).setValue(73);
+        // Toggle state of the checkboxes
+        toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "displayHour"));
+        toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "format24"));
+        toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "moveTo"));
+        toggleCheckbox((JCheckBox) getPrivateFieldValue(settings, "hoverEnabled"));
+        ((SpinnerNumberModel) getPrivateFieldValue(settings, "preFetchSize")).setValue(73);
 
-    // Test the second state of the checkboxes
-    settings.ok();
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "displayHour"), "streetside.display-hour");
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "format24"), "streetside.format-24");
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "moveTo"), "streetside.move-to-picture");
-    assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "hoverEnabled"), "streetside.hover-enabled");
-    assertEquals(String.valueOf(((SpinnerNumberModel) getPrivateFieldValue(settings, "preFetchSize")).getNumber().intValue()), new StringProperty("streetside.prefetch-image-count", "default").get());
+        // Test the second state of the checkboxes
+        settings.ok();
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "displayHour"),
+                "streetside.display-hour");
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "format24"),
+                "streetside.format-24");
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "moveTo"),
+                "streetside.move-to-picture");
+        assertPropertyMatchesCheckboxSelection((JCheckBox) getPrivateFieldValue(settings, "hoverEnabled"),
+                "streetside.hover-enabled");
+        assertEquals(
+                String.valueOf(
+                        ((SpinnerNumberModel) getPrivateFieldValue(settings, "preFetchSize")).getNumber().intValue()),
+                new StringProperty("streetside.prefetch-image-count", "default").get());
 
-    // Test combobox
-    for (int i = 0; i < ((JComboBox<String>) getPrivateFieldValue(settings, "downloadModeComboBox")).getItemCount(); i++) {
-      ((JComboBox<String>) getPrivateFieldValue(settings, "downloadModeComboBox")).setSelectedIndex(i);
-      settings.ok();
-      assertEquals(
-        new StringProperty("streetside.download-mode", "default").get(),
-        DOWNLOAD_MODE.fromLabel(
-          ((JComboBox<String>) getPrivateFieldValue(settings, "downloadModeComboBox")).getSelectedItem().toString()
-        ).getPrefId()
-      );
+        // Test combobox
+        for (int i = 0; i < ((JComboBox<String>) getPrivateFieldValue(settings, "downloadModeComboBox"))
+                .getItemCount(); i++) {
+            ((JComboBox<String>) getPrivateFieldValue(settings, "downloadModeComboBox")).setSelectedIndex(i);
+            settings.ok();
+            assertEquals(new StringProperty("streetside.download-mode", "default").get(),
+                    DOWNLOAD_MODE.fromLabel(((JComboBox<String>) getPrivateFieldValue(settings, "downloadModeComboBox"))
+                            .getSelectedItem().toString()).getPrefId());
+        }
     }
-  }
 
-  /**
-   * Checks, if a certain {@link BooleanProperty} (identified by the {@code propName} attribute) matches the selected-state of the given {@link JCheckBox}
-   * @param cb the {@link JCheckBox}, which should be checked against the {@link BooleanProperty}
-   * @param propName the name of the property against which the selected-state of the given {@link JCheckBox} should be checked
-   */
-  private static void assertPropertyMatchesCheckboxSelection(JCheckBox cb, String propName) {
-    assertEquals(cb.isSelected(), new BooleanProperty(propName, !cb.isSelected()).get());
-  }
+    /**
+     * Checks, if a certain {@link BooleanProperty} (identified by the {@code propName} attribute) matches the selected-state of the given {@link JCheckBox}
+     * @param cb the {@link JCheckBox}, which should be checked against the {@link BooleanProperty}
+     * @param propName the name of the property against which the selected-state of the given {@link JCheckBox} should be checked
+     */
+    private static void assertPropertyMatchesCheckboxSelection(JCheckBox cb, String propName) {
+        assertEquals(cb.isSelected(), new BooleanProperty(propName, !cb.isSelected()).get());
+    }
 
-  private static void toggleCheckbox(JCheckBox jcb) {
-    jcb.setSelected(!jcb.isSelected());
-  }
+    private static void toggleCheckbox(JCheckBox jcb) {
+        jcb.setSelected(!jcb.isSelected());
+    }
 
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/boilerplate/SelectableLabelTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/boilerplate/SelectableLabelTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/gui/boilerplate/SelectableLabelTest.java	(revision 36194)
@@ -7,13 +7,12 @@
 import org.junit.jupiter.api.Test;
 
-
 class SelectableLabelTest {
-  @Test
-  void testSelectableLabel() {
-    SelectableLabel l1 = new SelectableLabel();
-    assertFalse(l1.isEditable());
-    SelectableLabel l2 = new SelectableLabel("some text");
-    assertTrue(l2.getText().contains("some text"));
-    assertFalse(l2.isEditable());
-  }
+    @Test
+    void testSelectableLabel() {
+        SelectableLabel l1 = new SelectableLabel();
+        assertFalse(l1.isEditable());
+        SelectableLabel l2 = new SelectableLabel("some text");
+        assertTrue(l2.getText().contains("some text"));
+        assertFalse(l2.isEditable());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/history/StreetsideRecordTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/history/StreetsideRecordTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/history/StreetsideRecordTest.java	(revision 36194)
@@ -1,5 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.history;
-
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -35,201 +34,183 @@
 class StreetsideRecordTest {
 
-  private StreetsideRecord record;
-  private StreetsideImage img1;
-  private StreetsideImage img2;
-  private StreetsideImage img3;
-
-  /**
-   * Creates a new {@link StreetsideRecord} object and 3 {@link StreetsideImage}
-   * objects.
-   */
-  @BeforeEach
-  public void setUp() {
-    record = new StreetsideRecord();
-    img1 = new StreetsideImage("key1__________________", new LatLon(0.1, 0.1), 0.1);
-    img2 = new StreetsideImage("key2__________________", new LatLon(0.2, 0.2), 0.2);
-    img3 = new StreetsideImage("key3__________________", new LatLon(0.3, 0.3), 0.3);
-    if (StreetsideLayer.hasInstance() && StreetsideLayer.getInstance().getData().getImages().size() >= 1) {
-      StreetsideLayer.getInstance().getData().getImages().clear();
-    }
-  }
-
-  /**
-   * Test commands in general.
-   */
-  @Test
-  void testCommand() {
-    StreetsideCommand cmd12 = new CommandMove(
-            new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)),
-            0.1, 0.1);
-    StreetsideCommand cmd23 = new CommandMove(
-            new ConcurrentSkipListSet<>(Arrays.asList(img2, img3)),
-            0.1, 0.1);
-    StreetsideCommand cmd13 = new CommandMove(
-            new ConcurrentSkipListSet<>(Arrays.asList(img1, img3)),
-            0.1, 0.1);
-    StreetsideCommand cmd1 = new CommandMove(
-            new ConcurrentSkipListSet<>(Collections.singletonList(img1)), 0.1, 0.1);
-    StreetsideCommand cmd31 = new CommandMove(
-            new ConcurrentSkipListSet<>(Arrays.asList(img3, img1)),
-            0.2, 0.2);
-    record.addCommand(cmd12);
-    record.addCommand(cmd23);
-
-    assertEquals(1, record.position);
-    assertEquals(2, record.commandList.size());
-
-    record.undo();
-
-    assertEquals(0, record.position);
-    assertEquals(2, record.commandList.size());
-
-    record.addCommand(cmd1);
-
-    assertEquals(1, record.position);
-
-    record.addCommand(cmd13);
-
-    assertEquals(2, record.position);
-    assertEquals(3, record.commandList.size());
-
-    record.undo();
-    record.redo();
-
-    assertEquals(2, record.position);
-    assertEquals(3, record.commandList.size());
-
-    record.addCommand(cmd31);
-
-    assertEquals(2, record.position);
-    assertEquals(3, record.commandList.size());
-
-    record.addCommand(cmd1);
-
-    assertEquals(3, record.position);
-    assertEquals(4, record.commandList.size());
-  }
-
-  /**
-   * Tests {@link CommandMove} class.
-   */
-  @Test
-  void testCommandMove() {
-    CommandMove cmd1 = new CommandMove(
-            new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)),
-            0.1, 0.1);
-    CommandMove cmd2 = new CommandMove(
-            new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)),
-            0.1, 0.1);
-
-    record.addCommand(cmd1);
-
-    assertEquals(0.1, img1.getMovingLatLon().lat(), 0.01);
-
-    record.undo();
-
-    assertEquals(0.0, img1.getMovingLatLon().lat(), 0.01);
-
-    record.redo();
-
-    assertEquals(0.1, img1.getMovingLatLon().lat(), 0.01);
-
-    record.addCommand(cmd2);
-    record.undo();
-
-    assertEquals(-0.1, img1.getMovingLatLon().lat(), 0.01);
-
-    record.redo();
-
-    assertEquals(0.1, img1.getMovingLatLon().lat(), 0.01);
-  }
-
-  /**
-   * Tests {@link CommandTurn} class.
-   */
-  @Test
-  void testCommandTurn() {
-    CommandTurn cmd1 = new CommandTurn(
-            new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)),
-            0.2);
-    CommandTurn cmd2 = new CommandTurn(
-            new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)),
-            0.1);
-
-    record.addCommand(cmd1);
-    record.undo();
-
-    assertEquals(-0.1, img1.getMovingHe(), 0.01);
-
-    record.redo();
-
-    assertEquals(0.1, img1.getMovingHe(), 0.01);
-
-    record.addCommand(cmd2);
-    record.undo();
-
-    assertEquals(-0.2, img1.getMovingHe(), 0.01);
-
-    record.redo();
-
-    assertEquals(0.1, img1.getMovingHe(), 0.01);
-  }
-
-  /**
-   * Tests {@link CommandJoin} class.
-   */
-  @Test
-  void testCommandJoinClass() {
-    CommandJoin cmd1 = new CommandJoin(img1, img2);
-    CommandJoin cmd2 = new CommandJoin(img2, img3);
-
-    record.addCommand(cmd1);
-    assertEquals(2, img1.getSequence().getImages().size());
-    assertEquals(img2, img1.next());
-    record.undo();
-    assertEquals(1, img1.getSequence().getImages().size());
-    record.redo();
-    record.addCommand(cmd2);
-    assertEquals(3, img1.getSequence().getImages().size());
-    assertEquals(img3, img1.next().next());
-  }
-
-  @Test
-  void testCommandJoinNull1() {
-    assertThrows(NullPointerException.class, () -> new CommandJoin(img1, null));
-  }
-
-  @Test
-  void commandJoinNull2() {
-    assertThrows(NullPointerException.class, () -> new CommandJoin(null, img1));
-  }
-
-  /**
-   * Tests {@link CommandUnjoin} class.
-   */
-  @Test
-  void testCommandUnjoinClass() {
-    CommandJoin join1 = new CommandJoin(img1, img2);
-    CommandJoin join2 = new CommandJoin(img2, img3);
-
-    CommandUnjoin cmd1 = new CommandUnjoin(
-            Arrays.asList(new StreetsideAbstractImage[]{img1, img2}));
-    CommandUnjoin cmd2 = new CommandUnjoin(
-            Arrays.asList(new StreetsideAbstractImage[]{img2, img3}));
-
-    record.addCommand(join1);
-    record.addCommand(join2);
-
-    record.addCommand(cmd1);
-    assertEquals(1, img1.getSequence().getImages().size());
-    record.undo();
-    assertEquals(3, img1.getSequence().getImages().size());
-    record.redo();
-    record.addCommand(cmd2);
-    assertEquals(1, img1.getSequence().getImages().size());
-    assertEquals(1, img2.getSequence().getImages().size());
-
-    CommandUnjoin command = new CommandUnjoin(Arrays.asList(new StreetsideAbstractImage[]{img1, img2, img3}));
-    assertThrows(IllegalArgumentException.class, () -> record.addCommand(command));
-  }
+    private StreetsideRecord record;
+    private StreetsideImage img1;
+    private StreetsideImage img2;
+    private StreetsideImage img3;
+
+    /**
+     * Creates a new {@link StreetsideRecord} object and 3 {@link StreetsideImage}
+     * objects.
+     */
+    @BeforeEach
+    public void setUp() {
+        record = new StreetsideRecord();
+        img1 = new StreetsideImage("key1__________________", new LatLon(0.1, 0.1), 0.1);
+        img2 = new StreetsideImage("key2__________________", new LatLon(0.2, 0.2), 0.2);
+        img3 = new StreetsideImage("key3__________________", new LatLon(0.3, 0.3), 0.3);
+        if (StreetsideLayer.hasInstance() && StreetsideLayer.getInstance().getData().getImages().size() >= 1) {
+            StreetsideLayer.getInstance().getData().getImages().clear();
+        }
+    }
+
+    /**
+     * Test commands in general.
+     */
+    @Test
+    void testCommand() {
+        StreetsideCommand cmd12 = new CommandMove(new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)), 0.1, 0.1);
+        StreetsideCommand cmd23 = new CommandMove(new ConcurrentSkipListSet<>(Arrays.asList(img2, img3)), 0.1, 0.1);
+        StreetsideCommand cmd13 = new CommandMove(new ConcurrentSkipListSet<>(Arrays.asList(img1, img3)), 0.1, 0.1);
+        StreetsideCommand cmd1 = new CommandMove(new ConcurrentSkipListSet<>(Collections.singletonList(img1)), 0.1,
+                0.1);
+        StreetsideCommand cmd31 = new CommandMove(new ConcurrentSkipListSet<>(Arrays.asList(img3, img1)), 0.2, 0.2);
+        record.addCommand(cmd12);
+        record.addCommand(cmd23);
+
+        assertEquals(1, record.position);
+        assertEquals(2, record.commandList.size());
+
+        record.undo();
+
+        assertEquals(0, record.position);
+        assertEquals(2, record.commandList.size());
+
+        record.addCommand(cmd1);
+
+        assertEquals(1, record.position);
+
+        record.addCommand(cmd13);
+
+        assertEquals(2, record.position);
+        assertEquals(3, record.commandList.size());
+
+        record.undo();
+        record.redo();
+
+        assertEquals(2, record.position);
+        assertEquals(3, record.commandList.size());
+
+        record.addCommand(cmd31);
+
+        assertEquals(2, record.position);
+        assertEquals(3, record.commandList.size());
+
+        record.addCommand(cmd1);
+
+        assertEquals(3, record.position);
+        assertEquals(4, record.commandList.size());
+    }
+
+    /**
+     * Tests {@link CommandMove} class.
+     */
+    @Test
+    void testCommandMove() {
+        CommandMove cmd1 = new CommandMove(new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)), 0.1, 0.1);
+        CommandMove cmd2 = new CommandMove(new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)), 0.1, 0.1);
+
+        record.addCommand(cmd1);
+
+        assertEquals(0.1, img1.getMovingLatLon().lat(), 0.01);
+
+        record.undo();
+
+        assertEquals(0.0, img1.getMovingLatLon().lat(), 0.01);
+
+        record.redo();
+
+        assertEquals(0.1, img1.getMovingLatLon().lat(), 0.01);
+
+        record.addCommand(cmd2);
+        record.undo();
+
+        assertEquals(-0.1, img1.getMovingLatLon().lat(), 0.01);
+
+        record.redo();
+
+        assertEquals(0.1, img1.getMovingLatLon().lat(), 0.01);
+    }
+
+    /**
+     * Tests {@link CommandTurn} class.
+     */
+    @Test
+    void testCommandTurn() {
+        CommandTurn cmd1 = new CommandTurn(new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)), 0.2);
+        CommandTurn cmd2 = new CommandTurn(new ConcurrentSkipListSet<>(Arrays.asList(img1, img2)), 0.1);
+
+        record.addCommand(cmd1);
+        record.undo();
+
+        assertEquals(-0.1, img1.getMovingHe(), 0.01);
+
+        record.redo();
+
+        assertEquals(0.1, img1.getMovingHe(), 0.01);
+
+        record.addCommand(cmd2);
+        record.undo();
+
+        assertEquals(-0.2, img1.getMovingHe(), 0.01);
+
+        record.redo();
+
+        assertEquals(0.1, img1.getMovingHe(), 0.01);
+    }
+
+    /**
+     * Tests {@link CommandJoin} class.
+     */
+    @Test
+    void testCommandJoinClass() {
+        CommandJoin cmd1 = new CommandJoin(img1, img2);
+        CommandJoin cmd2 = new CommandJoin(img2, img3);
+
+        record.addCommand(cmd1);
+        assertEquals(2, img1.getSequence().getImages().size());
+        assertEquals(img2, img1.next());
+        record.undo();
+        assertEquals(1, img1.getSequence().getImages().size());
+        record.redo();
+        record.addCommand(cmd2);
+        assertEquals(3, img1.getSequence().getImages().size());
+        assertEquals(img3, img1.next().next());
+    }
+
+    @Test
+    void testCommandJoinNull1() {
+        assertThrows(NullPointerException.class, () -> new CommandJoin(img1, null));
+    }
+
+    @Test
+    void commandJoinNull2() {
+        assertThrows(NullPointerException.class, () -> new CommandJoin(null, img1));
+    }
+
+    /**
+     * Tests {@link CommandUnjoin} class.
+     */
+    @Test
+    void testCommandUnjoinClass() {
+        CommandJoin join1 = new CommandJoin(img1, img2);
+        CommandJoin join2 = new CommandJoin(img2, img3);
+
+        CommandUnjoin cmd1 = new CommandUnjoin(Arrays.asList(new StreetsideAbstractImage[] { img1, img2 }));
+        CommandUnjoin cmd2 = new CommandUnjoin(Arrays.asList(new StreetsideAbstractImage[] { img2, img3 }));
+
+        record.addCommand(join1);
+        record.addCommand(join2);
+
+        record.addCommand(cmd1);
+        assertEquals(1, img1.getSequence().getImages().size());
+        record.undo();
+        assertEquals(3, img1.getSequence().getImages().size());
+        record.redo();
+        record.addCommand(cmd2);
+        assertEquals(1, img1.getSequence().getImages().size());
+        assertEquals(1, img2.getSequence().getImages().size());
+
+        CommandUnjoin command = new CommandUnjoin(Arrays.asList(new StreetsideAbstractImage[] { img1, img2, img3 }));
+        assertThrows(IllegalArgumentException.class, () -> record.addCommand(command));
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnableTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnableTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnableTest.java	(revision 36194)
@@ -1,5 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.io.download;
-
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -21,45 +20,48 @@
 class SequenceDownloadRunnableTest {
 
-  private static final Function<Bounds, URL> SEARCH_SEQUENCES_URL_GEN = b -> {
-    return SequenceDownloadRunnableTest.class.getResource("/api/v3/responses/searchSequences.json");
-  };
-  private Field urlGenField;
+    private static final Function<Bounds, URL> SEARCH_SEQUENCES_URL_GEN = b -> {
+        return SequenceDownloadRunnableTest.class.getResource("/api/v3/responses/searchSequences.json");
+    };
+    private Field urlGenField;
 
+    @Test
+    void testRun1() throws IllegalArgumentException, IllegalAccessException {
+        testNumberOfDecodedImages(4, SEARCH_SEQUENCES_URL_GEN, new Bounds(7.246497, 16.432955, 7.249027, 16.432976));
+    }
 
-  @Test
-  void testRun1() throws IllegalArgumentException, IllegalAccessException {
-    testNumberOfDecodedImages(4, SEARCH_SEQUENCES_URL_GEN, new Bounds(7.246497, 16.432955, 7.249027, 16.432976));
-  }
+    @Test
+    void testRun2() throws IllegalArgumentException, IllegalAccessException {
+        testNumberOfDecodedImages(0, SEARCH_SEQUENCES_URL_GEN, new Bounds(0, 0, 0, 0));
+    }
 
-  @Test
-  void testRun2() throws IllegalArgumentException, IllegalAccessException {
-    testNumberOfDecodedImages(0, SEARCH_SEQUENCES_URL_GEN, new Bounds(0, 0, 0, 0));
-  }
+    @Test
+    void testRun3() throws IllegalArgumentException, IllegalAccessException {
+        testNumberOfDecodedImages(0, b -> {
+            try {
+                return new URL("https://streetside/nonexistentURL");
+            } catch (MalformedURLException e) {
+                return null;
+            }
+        }, new Bounds(0, 0, 0, 0));
+    }
 
-  @Test
-  void testRun3() throws IllegalArgumentException, IllegalAccessException {
-    testNumberOfDecodedImages(0, b -> {
-      try { return new URL("https://streetside/nonexistentURL"); } catch (MalformedURLException e) { return null; }
-    }, new Bounds(0, 0, 0, 0));
-  }
+    @Test
+    void testRun4() throws IllegalArgumentException, IllegalAccessException {
+        StreetsideProperties.CUT_OFF_SEQUENCES_AT_BOUNDS.put(true);
+        testNumberOfDecodedImages(4, SEARCH_SEQUENCES_URL_GEN, new Bounds(7.246497, 16.432955, 7.249027, 16.432976));
+    }
 
-  @Test
-  void testRun4() throws IllegalArgumentException, IllegalAccessException {
-    StreetsideProperties.CUT_OFF_SEQUENCES_AT_BOUNDS.put(true);
-    testNumberOfDecodedImages(4, SEARCH_SEQUENCES_URL_GEN, new Bounds(7.246497, 16.432955, 7.249027, 16.432976));
-  }
+    @Test
+    void testRun5() throws IllegalArgumentException, IllegalAccessException {
+        StreetsideProperties.CUT_OFF_SEQUENCES_AT_BOUNDS.put(true);
+        testNumberOfDecodedImages(0, SEARCH_SEQUENCES_URL_GEN, new Bounds(0, 0, 0, 0));
+    }
 
-  @Test
-  void testRun5() throws IllegalArgumentException, IllegalAccessException {
-    StreetsideProperties.CUT_OFF_SEQUENCES_AT_BOUNDS.put(true);
-    testNumberOfDecodedImages(0, SEARCH_SEQUENCES_URL_GEN, new Bounds(0, 0, 0, 0));
-  }
-
-  private void testNumberOfDecodedImages(int expectedNumImgs, Function<Bounds, URL> urlGen, Bounds bounds)
-      throws IllegalArgumentException, IllegalAccessException {
-    SequenceDownloadRunnable r = new SequenceDownloadRunnable(StreetsideLayer.getInstance().getData(), bounds);
-    urlGenField.set(null, urlGen);
-    r.run();
-    assertEquals(expectedNumImgs, StreetsideLayer.getInstance().getData().getImages().size());
-  }
+    private void testNumberOfDecodedImages(int expectedNumImgs, Function<Bounds, URL> urlGen, Bounds bounds)
+            throws IllegalArgumentException, IllegalAccessException {
+        SequenceDownloadRunnable r = new SequenceDownloadRunnable(StreetsideLayer.getInstance().getData(), bounds);
+        urlGenField.set(null, urlGen);
+        r.run();
+        assertEquals(expectedNumImgs, StreetsideLayer.getInstance().getData().getImages().size());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/ImageUtilTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/ImageUtilTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/ImageUtilTest.java	(revision 36194)
@@ -1,5 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.utils;
-
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -11,24 +10,23 @@
 import org.junit.jupiter.api.Test;
 
-
 class ImageUtilTest {
 
-  @Test
-  void testUtilityClass() {
-    TestUtil.testUtilityClass(ImageUtil.class);
-  }
+    @Test
+    void testUtilityClass() {
+        TestUtil.testUtilityClass(ImageUtil.class);
+    }
 
-  @Test
-  void testScaleImageIcon() {
-    ImageIcon largeLandscape = new ImageIcon(new BufferedImage(72, 60, BufferedImage.TYPE_4BYTE_ABGR));
-    ImageIcon largePortrait = new ImageIcon(new BufferedImage(56, 88, BufferedImage.TYPE_4BYTE_ABGR));
-    ImageIcon smallLandscape = ImageUtil.scaleImageIcon(largeLandscape, 24);
-    ImageIcon smallPortrait = ImageUtil.scaleImageIcon(largePortrait, 22);
+    @Test
+    void testScaleImageIcon() {
+        ImageIcon largeLandscape = new ImageIcon(new BufferedImage(72, 60, BufferedImage.TYPE_4BYTE_ABGR));
+        ImageIcon largePortrait = new ImageIcon(new BufferedImage(56, 88, BufferedImage.TYPE_4BYTE_ABGR));
+        ImageIcon smallLandscape = ImageUtil.scaleImageIcon(largeLandscape, 24);
+        ImageIcon smallPortrait = ImageUtil.scaleImageIcon(largePortrait, 22);
 
-    assertEquals(24, smallLandscape.getIconWidth());
-    assertEquals(20, smallLandscape.getIconHeight());
+        assertEquals(24, smallLandscape.getIconWidth());
+        assertEquals(20, smallLandscape.getIconHeight());
 
-    assertEquals(22, smallPortrait.getIconHeight());
-    assertEquals(14, smallPortrait.getIconWidth());
-  }
+        assertEquals(22, smallPortrait.getIconHeight());
+        assertEquals(14, smallPortrait.getIconWidth());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/JsonUtil.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/JsonUtil.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/JsonUtil.java	(revision 36194)
@@ -9,10 +9,10 @@
 
 public final class JsonUtil {
-  private JsonUtil() {
-    // Private constructor to avoid instantiation
-  }
+    private JsonUtil() {
+        // Private constructor to avoid instantiation
+    }
 
-  public static JsonObject string2jsonObject(String s) {
-    return Json.createReader(new ByteArrayInputStream(s.getBytes(StandardCharsets.UTF_8))).readObject();
-  }
+    public static JsonObject string2jsonObject(String s) {
+        return Json.createReader(new ByteArrayInputStream(s.getBytes(StandardCharsets.UTF_8))).readObject();
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/PluginStateTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/PluginStateTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/PluginStateTest.java	(revision 36194)
@@ -1,5 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.utils;
-
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -21,43 +20,40 @@
 class PluginStateTest {
 
-  /**
-   * Test the methods related to the download.
-   */
-  @Test
-  void testDownload() {
-    assertFalse(PluginState.isDownloading());
-    PluginState.startDownload();
-    assertTrue(PluginState.isDownloading());
-    PluginState.startDownload();
-    assertTrue(PluginState.isDownloading());
-    PluginState.finishDownload();
-    assertTrue(PluginState.isDownloading());
-    PluginState.finishDownload();
-    assertFalse(PluginState.isDownloading());
-  }
+    /**
+     * Test the methods related to the download.
+     */
+    @Test
+    void testDownload() {
+        assertFalse(PluginState.isDownloading());
+        PluginState.startDownload();
+        assertTrue(PluginState.isDownloading());
+        PluginState.startDownload();
+        assertTrue(PluginState.isDownloading());
+        PluginState.finishDownload();
+        assertTrue(PluginState.isDownloading());
+        PluginState.finishDownload();
+        assertFalse(PluginState.isDownloading());
+    }
 
-  /**
-   * Tests the methods related to the upload.
-   */
-  @Test
-  void testUpload() {
-    TestUtils.assumeWorkingJMockit();
-    JOptionPaneSimpleMocker jopsMocker = new JOptionPaneSimpleMocker();
-    jopsMocker.getMockResultMap().put(
-            "You have successfully uploaded 2 images to Bing.com",
-            JOptionPane.OK_OPTION
-        );
-    assertFalse(PluginState.isUploading());
-    PluginState.addImagesToUpload(2);
-    assertEquals(2, PluginState.getImagesToUpload());
-    assertEquals(0, PluginState.getImagesUploaded());
-    assertTrue(PluginState.isUploading());
-    PluginState.imageUploaded();
-    assertEquals(1, PluginState.getImagesUploaded());
-    assertTrue(PluginState.isUploading());
-    PluginState.imageUploaded();
-    assertFalse(PluginState.isUploading());
-    assertEquals(2, PluginState.getImagesToUpload());
-    assertEquals(2, PluginState.getImagesUploaded());
-  }
+    /**
+     * Tests the methods related to the upload.
+     */
+    @Test
+    void testUpload() {
+        TestUtils.assumeWorkingJMockit();
+        JOptionPaneSimpleMocker jopsMocker = new JOptionPaneSimpleMocker();
+        jopsMocker.getMockResultMap().put("You have successfully uploaded 2 images to Bing.com", JOptionPane.OK_OPTION);
+        assertFalse(PluginState.isUploading());
+        PluginState.addImagesToUpload(2);
+        assertEquals(2, PluginState.getImagesToUpload());
+        assertEquals(0, PluginState.getImagesUploaded());
+        assertTrue(PluginState.isUploading());
+        PluginState.imageUploaded();
+        assertEquals(1, PluginState.getImagesUploaded());
+        assertTrue(PluginState.isUploading());
+        PluginState.imageUploaded();
+        assertFalse(PluginState.isUploading());
+        assertEquals(2, PluginState.getImagesToUpload());
+        assertEquals(2, PluginState.getImagesUploaded());
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideColorSchemeTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideColorSchemeTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideColorSchemeTest.java	(revision 36194)
@@ -10,13 +10,13 @@
 class StreetsideColorSchemeTest {
 
-  @Test
-  void testUtilityClass() {
-    TestUtil.testUtilityClass(StreetsideColorScheme.class);
-  }
+    @Test
+    void testUtilityClass() {
+        TestUtil.testUtilityClass(StreetsideColorScheme.class);
+    }
 
-  @Test
-  void testStyleAsDefaultPanel() {
-    assertDoesNotThrow(() -> StreetsideColorScheme.styleAsDefaultPanel());
-    assertDoesNotThrow(() -> StreetsideColorScheme.styleAsDefaultPanel((JComponent[]) null));
-  }
+    @Test
+    void testStyleAsDefaultPanel() {
+        assertDoesNotThrow(() -> StreetsideColorScheme.styleAsDefaultPanel());
+        assertDoesNotThrow(() -> StreetsideColorScheme.styleAsDefaultPanel((JComponent[]) null));
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsidePropertiesTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsidePropertiesTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsidePropertiesTest.java	(revision 36194)
@@ -5,8 +5,8 @@
 
 public class StreetsidePropertiesTest {
-  @Test
-  public void testUtilityClass() {
-    TestUtil.testUtilityClass(StreetsideProperties.class);
-  }
+    @Test
+    public void testUtilityClass() {
+        TestUtil.testUtilityClass(StreetsideProperties.class);
+    }
 
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURLTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURLTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURLTest.java	(revision 36194)
@@ -16,86 +16,83 @@
 
 class StreetsideURLTest {
-  // TODO: replace with Streetside URL @rrh
-  private static final String CLIENT_ID_QUERY_PART = "client_id=T1Fzd20xZjdtR0s1VDk5OFNIOXpYdzoxNDYyOGRkYzUyYTFiMzgz";
+    // TODO: replace with Streetside URL @rrh
+    private static final String CLIENT_ID_QUERY_PART = "client_id=T1Fzd20xZjdtR0s1VDk5OFNIOXpYdzoxNDYyOGRkYzUyYTFiMzgz";
 
-  public static class APIv3 {
+    public static class APIv3 {
 
-    /*@Ignore
-	  @Test
-    public void testSearchDetections() {
-      assertUrlEquals(StreetsideURL.APIv3.searchDetections(null), "https://a.streetside.com/v3/detections", CLIENT_ID_QUERY_PART);
+        /*@Ignore
+        @Test
+        public void testSearchDetections() {
+          assertUrlEquals(StreetsideURL.APIv3.searchDetections(null), "https://a.streetside.com/v3/detections", CLIENT_ID_QUERY_PART);
+        }
+
+        @Ignore
+        @Test
+        public void testSearchImages() {
+          assertUrlEquals(StreetsideURL.APIv3.searchImages(null), "https://a.streetside.com/v3/images", CLIENT_ID_QUERY_PART);
+        }
+
+        @Ignore
+        @Test
+        public void testSubmitChangeset() throws MalformedURLException {
+          assertEquals(
+        new URL("https://a.streetside.com/v3/changesets?" + CLIENT_ID_QUERY_PART),
+        StreetsideURL.APIv3.submitChangeset()
+          );
+        }*/
     }
 
-    @Ignore
     @Test
-    public void testSearchImages() {
-      assertUrlEquals(StreetsideURL.APIv3.searchImages(null), "https://a.streetside.com/v3/images", CLIENT_ID_QUERY_PART);
-    }
-
-    @Ignore
-    @Test
-    public void testSubmitChangeset() throws MalformedURLException {
-      assertEquals(
-        new URL("https://a.streetside.com/v3/changesets?" + CLIENT_ID_QUERY_PART),
-        StreetsideURL.APIv3.submitChangeset()
-      );
-    }*/
-  }
-
-
-	@Test
     void testParseNextFromHeaderValue() throws MalformedURLException {
-      String headerVal =
-        "<https://a.streetside.com/v3/sequences?page=1&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2>; rel=\"first\", " +
-        "<https://a.streetside.com/v3/sequences?page=2&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2>; rel=\"prev\", " +
-        "<https://a.streetside.com/v3/sequences?page=4&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2>; rel=\"next\"";
-      assertEquals(new URL("https://a.streetside.com/v3/sequences?page=4&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2"), StreetsideURL.APIv3.parseNextFromLinkHeaderValue(headerVal));
+        String headerVal = "<https://a.streetside.com/v3/sequences?page=1&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2>; rel=\"first\", "
+                + "<https://a.streetside.com/v3/sequences?page=2&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2>; rel=\"prev\", "
+                + "<https://a.streetside.com/v3/sequences?page=4&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2>; rel=\"next\"";
+        assertEquals(new URL(
+                "https://a.streetside.com/v3/sequences?page=4&per_page=200&client_id=TG1sUUxGQlBiYWx2V05NM0pQNUVMQTo2NTU3NTBiNTk1NzM1Y2U2"),
+                StreetsideURL.APIv3.parseNextFromLinkHeaderValue(headerVal));
     }
 
     @Test
     void testParseNextFromHeaderValue2() throws MalformedURLException {
-      String headerVal =
-        "<https://urlFirst>; rel=\"first\", " +
-        "rel = \"next\" ; < ; , " +
-        "rel = \"next\" ; <https://urlNext> , " +
-        "<https://urlPrev>; rel=\"prev\"";
-      assertEquals(new URL("https://urlNext"), StreetsideURL.APIv3.parseNextFromLinkHeaderValue(headerVal));
+        String headerVal = "<https://urlFirst>; rel=\"first\", " + "rel = \"next\" ; < ; , "
+                + "rel = \"next\" ; <https://urlNext> , " + "<https://urlPrev>; rel=\"prev\"";
+        assertEquals(new URL("https://urlNext"), StreetsideURL.APIv3.parseNextFromLinkHeaderValue(headerVal));
     }
 
     @Test
     void testParseNextFromHeaderValueNull() {
-      assertNull(StreetsideURL.APIv3.parseNextFromLinkHeaderValue(null));
+        assertNull(StreetsideURL.APIv3.parseNextFromLinkHeaderValue(null));
     }
 
     @Test
     void testParseNextFromHeaderValueMalformed() {
-      assertNull(StreetsideURL.APIv3.parseNextFromLinkHeaderValue("<###>; rel=\"next\", blub"));
+        assertNull(StreetsideURL.APIv3.parseNextFromLinkHeaderValue("<###>; rel=\"next\", blub"));
     }
 
-
-  /*public static class Cloudfront {
+    /*public static class Cloudfront {
     @Ignore
-	@Test
+    @Test
     public void testThumbnail() {
       assertUrlEquals(StreetsideURL.VirtualEarth.streetsideTile("arbitrary_key", true), "https://d1cuyjsrcm0gby.cloudfront.net/arbitrary_key/thumb-2048.jpg");
       assertUrlEquals(StreetsideURL.VirtualEarth.streetsideTile("arbitrary_key2", false), "https://d1cuyjsrcm0gby.cloudfront.net/arbitrary_key2/thumb-320.jpg");
     }
-  }*/
+    }*/
 
-  @Disabled
-  @Test
-  void testBrowseImageURL() throws MalformedURLException {
-    assertEquals(new URL("https://www.streetside.com/map/im/1234567890123456789012"), StreetsideURL.MainWebsite.browseImage("1234567890123456789012"));
-  }
+    @Disabled
+    @Test
+    void testBrowseImageURL() throws MalformedURLException {
+        assertEquals(new URL("https://www.streetside.com/map/im/1234567890123456789012"),
+                StreetsideURL.MainWebsite.browseImage("1234567890123456789012"));
+    }
 
-  @Test
-  void testIllegalBrowseImageURL() {
-    assertThrows(IllegalArgumentException.class, () -> StreetsideURL.MainWebsite.browseImage(null));
-  }
+    @Test
+    void testIllegalBrowseImageURL() {
+        assertThrows(IllegalArgumentException.class, () -> StreetsideURL.MainWebsite.browseImage(null));
+    }
 
-  @Disabled
-  @Test
-  void testConnectURL() {
-    /*assertUrlEquals(
+    @Disabled
+    @Test
+    void testConnectURL() {
+        /*assertUrlEquals(
         StreetsideURL.MainWebsite.connect("http://redirect-host/ä"),
         "https://www.streetside.com/connect",
@@ -104,7 +101,7 @@
         "response_type=token",
         "redirect_uri=http%3A%2F%2Fredirect-host%2F%C3%A4"
-    );
+        );
 
-    assertUrlEquals(
+        assertUrlEquals(
         StreetsideURL.MainWebsite.connect(null),
         "https://www.streetside.com/connect",
@@ -112,7 +109,7 @@
         "scope=user%3Aread+public%3Aupload+public%3Awrite",
         "response_type=token"
-    );
+        );
 
-    assertUrlEquals(
+        assertUrlEquals(
         StreetsideURL.MainWebsite.connect(""),
         "https://www.streetside.com/connect",
@@ -120,54 +117,57 @@
         "scope=user%3Aread+public%3Aupload+public%3Awrite",
         "response_type=token"
-    );*/
-  }
+        );*/
+    }
 
-  @Disabled
-  @Test
-  void testUploadSecretsURL() throws MalformedURLException {
-    /*assertEquals(
+    @Disabled
+    @Test
+    void testUploadSecretsURL() throws MalformedURLException {
+        /*assertEquals(
         new URL("https://a.streetside.com/v2/me/uploads/secrets?"+CLIENT_ID_QUERY_PART),
         StreetsideURL.uploadSecretsURL()
-    );*/
-  }
+        );*/
+    }
 
-  @Disabled
-  @Test
-  void testUserURL() throws MalformedURLException {
-    /*assertEquals(
+    @Disabled
+    @Test
+    void testUserURL() throws MalformedURLException {
+        /*assertEquals(
         new URL("https://a.streetside.com/v3/me?"+CLIENT_ID_QUERY_PART),
         StreetsideURL.APIv3.userURL()
-    );*/
-  }
+        );*/
+    }
 
-  @Test
-  void testString2MalformedURL()
-      throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
-    Method method = StreetsideURL.class.getDeclaredMethod("string2URL", String[].class);
-    method.setAccessible(true);
-    Assertions.assertNull(method.invoke(null, new Object[]{new String[]{"malformed URL"}})); // this simply invokes string2URL("malformed URL")
-    Assertions.assertNull(method.invoke(null, new Object[]{null})); // invokes string2URL(null)
-  }
+    @Test
+    void testString2MalformedURL() throws IllegalAccessException, IllegalArgumentException, InvocationTargetException,
+            NoSuchMethodException, SecurityException {
+        Method method = StreetsideURL.class.getDeclaredMethod("string2URL", String[].class);
+        method.setAccessible(true);
+        Assertions.assertNull(method.invoke(null, new Object[] { new String[] { "malformed URL" } })); // this simply invokes string2URL("malformed URL")
+        Assertions.assertNull(method.invoke(null, new Object[] { null })); // invokes string2URL(null)
+    }
 
-  @Test
-  void testUtilityClass() {
-    TestUtil.testUtilityClass(StreetsideURL.class);
-    TestUtil.testUtilityClass(StreetsideURL.APIv3.class);
-    TestUtil.testUtilityClass(StreetsideURL.VirtualEarth.class);
-    TestUtil.testUtilityClass(StreetsideURL.MainWebsite.class);
-  }
+    @Test
+    void testUtilityClass() {
+        TestUtil.testUtilityClass(StreetsideURL.class);
+        TestUtil.testUtilityClass(StreetsideURL.APIv3.class);
+        TestUtil.testUtilityClass(StreetsideURL.VirtualEarth.class);
+        TestUtil.testUtilityClass(StreetsideURL.MainWebsite.class);
+    }
 
-  private static void assertUrlEquals(URL actualUrl, String expectedBaseUrl, String... expectedParams) {
-    final String actualUrlString = actualUrl.toString();
-    assertEquals(expectedBaseUrl, actualUrlString.contains("?") ? actualUrlString.substring(0, actualUrlString.indexOf('?')) : actualUrlString);
-    String[] actualParams = actualUrl.getQuery() == null ? new String[0] : actualUrl.getQuery().split("&");
-    assertEquals(expectedParams.length, actualParams.length);
-    for (int exIndex = 0; exIndex < expectedParams.length; exIndex++) {
-      boolean parameterIsPresent = false;
-      for (int acIndex = 0; !parameterIsPresent && acIndex < actualParams.length; acIndex++) {
-        parameterIsPresent |= actualParams[acIndex].equals(expectedParams[exIndex]);
-      }
-      Assertions.assertTrue(parameterIsPresent, expectedParams[exIndex] + " was expected in the query string of " + actualUrl.toString() + " but wasn't there.");
+    private static void assertUrlEquals(URL actualUrl, String expectedBaseUrl, String... expectedParams) {
+        final String actualUrlString = actualUrl.toString();
+        assertEquals(expectedBaseUrl,
+                actualUrlString.contains("?") ? actualUrlString.substring(0, actualUrlString.indexOf('?'))
+                        : actualUrlString);
+        String[] actualParams = actualUrl.getQuery() == null ? new String[0] : actualUrl.getQuery().split("&");
+        assertEquals(expectedParams.length, actualParams.length);
+        for (int exIndex = 0; exIndex < expectedParams.length; exIndex++) {
+            boolean parameterIsPresent = false;
+            for (int acIndex = 0; !parameterIsPresent && acIndex < actualParams.length; acIndex++) {
+                parameterIsPresent |= actualParams[acIndex].equals(expectedParams[exIndex]);
+            }
+            Assertions.assertTrue(parameterIsPresent, expectedParams[exIndex] + " was expected in the query string of "
+                    + actualUrl + " but wasn't there.");
+        }
     }
-  }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideUtilsTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideUtilsTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideUtilsTest.java	(revision 36194)
@@ -11,33 +11,32 @@
  * Tests the static methods of the class {@link StreetsideUtils}
  *
+ * @author nokutu
  * @see StreetsideUtils
- * @author nokutu
- *
  */
 class StreetsideUtilsTest {
 
-  @Test
-  void testUtilityClass() {
-    TestUtil.testUtilityClass(StreetsideUtils.class);
-  }
+    @Test
+    void testUtilityClass() {
+        TestUtil.testUtilityClass(StreetsideUtils.class);
+    }
 
-  /**
-   * Test {@link StreetsideUtils#degMinSecToDouble(RationalNumber[], String)}
-   * method.
-   */
-  @Test
-  void testDegMinSecToDouble() {
-    RationalNumber[] num = new RationalNumber[3];
-    num[0] = new RationalNumber(1, 1);
-    num[1] = new RationalNumber(0, 1);
-    num[2] = new RationalNumber(0, 1);
-    String ref = GpsTagConstants.GPS_TAG_GPS_LATITUDE_REF_VALUE_NORTH;
-    assertEquals(1, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
-    ref = GpsTagConstants.GPS_TAG_GPS_LATITUDE_REF_VALUE_SOUTH;
-    assertEquals(-1, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
-    num[0] = new RationalNumber(180, 1);
-    assertEquals(-180, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
-    num[0] = new RationalNumber(190, 1);
-    assertEquals(170, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
-  }
+    /**
+     * Test {@link StreetsideUtils#degMinSecToDouble(RationalNumber[], String)}
+     * method.
+     */
+    @Test
+    void testDegMinSecToDouble() {
+        RationalNumber[] num = new RationalNumber[3];
+        num[0] = new RationalNumber(1, 1);
+        num[1] = new RationalNumber(0, 1);
+        num[2] = new RationalNumber(0, 1);
+        String ref = GpsTagConstants.GPS_TAG_GPS_LATITUDE_REF_VALUE_NORTH;
+        assertEquals(1, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
+        ref = GpsTagConstants.GPS_TAG_GPS_LATITUDE_REF_VALUE_SOUTH;
+        assertEquals(-1, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
+        num[0] = new RationalNumber(180, 1);
+        assertEquals(-180, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
+        num[0] = new RationalNumber(190, 1);
+        assertEquals(170, StreetsideUtils.degMinSecToDouble(num, ref), 0.01);
+    }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/TestUtil.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/TestUtil.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/TestUtil.java	(revision 36194)
@@ -18,60 +18,61 @@
 public final class TestUtil {
 
-  private TestUtil() {
-    // Prevent instantiation
-  }
+    private TestUtil() {
+        // Prevent instantiation
+    }
 
-  public static Field getAccessibleField(Class<?> clazz, String fieldName) {
-    try {
-      Field result = clazz.getDeclaredField(fieldName);
-      result.setAccessible(true);
-      Field modifiers = Field.class.getDeclaredField("modifiers");
-      modifiers.setAccessible(true);
-      modifiers.setInt(result, modifiers.getInt(result) & ~Modifier.FINAL);
-      return result;
-    } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
-      throw new JosmRuntimeException(e);
+    public static Field getAccessibleField(Class<?> clazz, String fieldName) {
+        try {
+            Field result = clazz.getDeclaredField(fieldName);
+            result.setAccessible(true);
+            Field modifiers = Field.class.getDeclaredField("modifiers");
+            modifiers.setAccessible(true);
+            modifiers.setInt(result, modifiers.getInt(result) & ~Modifier.FINAL);
+            return result;
+        } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
+            throw new JosmRuntimeException(e);
+        }
     }
-  }
 
-  /**
-   * Helper method for obtaining the value of a private field
-   * @param object the object of which you want the private field
-   * @param name the name of the private field
-   * @return the current value that field has
-   */
-  public static Object getPrivateFieldValue(Object object, String name) {
-    try {
-      return getAccessibleField(object.getClass(), name).get(object);
-    } catch (IllegalAccessException | SecurityException e) {
-      throw new JosmRuntimeException(e);
+    /**
+     * Helper method for obtaining the value of a private field
+     * @param object the object of which you want the private field
+     * @param name the name of the private field
+     * @return the current value that field has
+     */
+    public static Object getPrivateFieldValue(Object object, String name) {
+        try {
+            return getAccessibleField(object.getClass(), name).get(object);
+        } catch (IllegalAccessException | SecurityException e) {
+            throw new JosmRuntimeException(e);
+        }
     }
-  }
 
-  /**
-   * This method tests utility classes for common coding standards (exactly one constructor that's private,
-   * only static methods, …) and fails the current test if one of those standards is not met.
-   * This is inspired by <a href="https://stackoverflow.com/a/10872497">an answer on StackOverflow.com</a> .
-   * @param c the class under test
-   */
-  public static void testUtilityClass(final Class<?> c) {
-    try {
-      // class must be final
-      assertTrue(Modifier.isFinal(c.getModifiers()));
-      // with exactly one constructor
-      assertEquals(1, c.getDeclaredConstructors().length);
-      final Constructor<?> constructor = c.getDeclaredConstructors()[0];
-      // constructor has to be private
-      assertTrue(!constructor.isAccessible() && Modifier.isPrivate(constructor.getModifiers()));
-      constructor.setAccessible(true);
-      // Call private constructor for code coverage
-      constructor.newInstance();
-      for (Method m : c.getMethods()) {
-        // Check if all methods are static
-        assertTrue(m.getDeclaringClass() != c || Modifier.isStatic(m.getModifiers()));
-      }
-    } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
-      throw new JosmRuntimeException(e);
+    /**
+     * This method tests utility classes for common coding standards (exactly one constructor that's private,
+     * only static methods, …) and fails the current test if one of those standards is not met.
+     * This is inspired by <a href="https://stackoverflow.com/a/10872497">an answer on StackOverflow.com</a> .
+     * @param c the class under test
+     */
+    public static void testUtilityClass(final Class<?> c) {
+        try {
+            // class must be final
+            assertTrue(Modifier.isFinal(c.getModifiers()));
+            // with exactly one constructor
+            assertEquals(1, c.getDeclaredConstructors().length);
+            final Constructor<?> constructor = c.getDeclaredConstructors()[0];
+            // constructor has to be private
+            assertTrue(!constructor.isAccessible() && Modifier.isPrivate(constructor.getModifiers()));
+            constructor.setAccessible(true);
+            // Call private constructor for code coverage
+            constructor.newInstance();
+            for (Method m : c.getMethods()) {
+                // Check if all methods are static
+                assertTrue(m.getDeclaringClass() != c || Modifier.isStatic(m.getModifiers()));
+            }
+        } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
+                | InvocationTargetException e) {
+            throw new JosmRuntimeException(e);
+        }
     }
-  }
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/api/JsonDecoderTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/api/JsonDecoderTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/api/JsonDecoderTest.java	(revision 36194)
@@ -1,5 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.utils.api;
-
 
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
@@ -18,19 +17,19 @@
 class JsonDecoderTest {
 
-  @Test
-  void testUtilityClass() {
-    TestUtil.testUtilityClass(JsonDecoder.class);
-  }
+    @Test
+    void testUtilityClass() {
+        TestUtil.testUtilityClass(JsonDecoder.class);
+    }
 
-  @Test
-  void testDecodeDoublePair() {
-    assertArrayEquals(new double[0], JsonDecoder.decodeDoublePair(null));
-  }
+    @Test
+    void testDecodeDoublePair() {
+        assertArrayEquals(new double[0], JsonDecoder.decodeDoublePair(null));
+    }
 
-  static void assertDecodesToNull(Function<JsonObject, ?> function, String...parts) {
-    assertNull(function.apply(
-      Json.createReader(new ByteArrayInputStream(String.join(" ", parts).getBytes(StandardCharsets.UTF_8))).readObject()
-    ));
-  }
+    static void assertDecodesToNull(Function<JsonObject, ?> function, String... parts) {
+        assertNull(function.apply(
+                Json.createReader(new ByteArrayInputStream(String.join(" ", parts).getBytes(StandardCharsets.UTF_8)))
+                        .readObject()));
+    }
 
 }
Index: applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/api/JsonSequencesDecoderTest.java
===================================================================
--- applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/api/JsonSequencesDecoderTest.java	(revision 36193)
+++ applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/api/JsonSequencesDecoderTest.java	(revision 36194)
@@ -29,172 +29,163 @@
 class JsonSequencesDecoderTest {
 
-  @Disabled
-  @Test
-  void testDecodeSequences() {
-    Collection<StreetsideSequence> exampleSequences = JsonDecoder.decodeFeatureCollection(
-      Json.createReader(this.getClass().getResourceAsStream("test/data/api/v3/responses/searchSequences.json")).readObject(),
-      JsonSequencesDecoder::decodeSequence
-    );
-    assertNotNull(exampleSequences);
-    assertEquals(1, exampleSequences.size());
-    StreetsideSequence seq = exampleSequences.iterator().next();
-    assertEquals(4, seq.getImages().size());
+    @Disabled
+    @Test
+    void testDecodeSequences() {
+        Collection<StreetsideSequence> exampleSequences = JsonDecoder.decodeFeatureCollection(Json
+                .createReader(this.getClass().getResourceAsStream("test/data/api/v3/responses/searchSequences.json"))
+                .readObject(), JsonSequencesDecoder::decodeSequence);
+        assertNotNull(exampleSequences);
+        assertEquals(1, exampleSequences.size());
+        StreetsideSequence seq = exampleSequences.iterator().next();
+        assertEquals(4, seq.getImages().size());
 
-    assertEquals("LwrHXqFRN_pszCopTKHF_Q", ((StreetsideImage) seq.getImages().get(0)).getId());
-    assertEquals("Aufjv2hdCKwg9LySWWVSwg", ((StreetsideImage) seq.getImages().get(1)).getId());
-    assertEquals("QEVZ1tp-PmrwtqhSwdW9fQ", ((StreetsideImage) seq.getImages().get(2)).getId());
-    assertEquals("G_SIwxNcioYeutZuA8Rurw", ((StreetsideImage) seq.getImages().get(3)).getId());
+        assertEquals("LwrHXqFRN_pszCopTKHF_Q", seq.getImages().get(0).getId());
+        assertEquals("Aufjv2hdCKwg9LySWWVSwg", seq.getImages().get(1).getId());
+        assertEquals("QEVZ1tp-PmrwtqhSwdW9fQ", seq.getImages().get(2).getId());
+        assertEquals("G_SIwxNcioYeutZuA8Rurw", seq.getImages().get(3).getId());
 
-    assertEquals(323.0319999999999, seq.getImages().get(0).getHe(), 1e-10);
-    assertEquals(320.8918, seq.getImages().get(1).getHe(), 1e-10);
-    assertEquals(333.62239999999997, seq.getImages().get(2).getHe(), 1e-10);
-    assertEquals(329.94820000000004, seq.getImages().get(3).getHe(), 1e-10);
+        assertEquals(323.0319999999999, seq.getImages().get(0).getHe(), 1e-10);
+        assertEquals(320.8918, seq.getImages().get(1).getHe(), 1e-10);
+        assertEquals(333.62239999999997, seq.getImages().get(2).getHe(), 1e-10);
+        assertEquals(329.94820000000004, seq.getImages().get(3).getHe(), 1e-10);
 
-    assertEquals(new LatLon(7.246497, 16.432958), seq.getImages().get(0).getLatLon());
-    assertEquals(new LatLon(7.246567, 16.432955), seq.getImages().get(1).getLatLon());
-    assertEquals(new LatLon(7.248372, 16.432971), seq.getImages().get(2).getLatLon());
-    assertEquals(new LatLon(7.249027, 16.432976), seq.getImages().get(3).getLatLon());
+        assertEquals(new LatLon(7.246497, 16.432958), seq.getImages().get(0).getLatLon());
+        assertEquals(new LatLon(7.246567, 16.432955), seq.getImages().get(1).getLatLon());
+        assertEquals(new LatLon(7.248372, 16.432971), seq.getImages().get(2).getLatLon());
+        assertEquals(new LatLon(7.249027, 16.432976), seq.getImages().get(3).getLatLon());
 
-    assertEquals(1_457_963_093_860L, seq.getCd()); // 2016-03-14T13:44:53.860 UTC
-  }
+        assertEquals(1_457_963_093_860L, seq.getCd()); // 2016-03-14T13:44:53.860 UTC
+    }
 
-  @Test
-  void testDecodeSequencesInvalid() {
-    // null input
-    assertEquals(0, JsonDecoder.decodeFeatureCollection(null, JsonSequencesDecoder::decodeSequence).size());
-    // empty object
-    assertNumberOfDecodedSequences(0, "{}");
-    // object without type=FeatureCollection
-    assertNumberOfDecodedSequences(0, "{\"features\": []}");
-    // object with wrong value for the type attribute
-    assertNumberOfDecodedSequences(0, "{\"type\": \"SomethingArbitrary\", \"features\": []}");
-    // object without features-array
-    assertNumberOfDecodedSequences(0, "{\"type\": \"FeatureCollection\"}");
-    // object with a value for the features-key, but wrong type (in this case string instead of Array)
-    assertNumberOfDecodedSequences(0, "{\"type\": \"FeatureCollection\", \"features\": \"notAnArray\"}");
-  }
+    @Test
+    void testDecodeSequencesInvalid() {
+        // null input
+        assertEquals(0, JsonDecoder.decodeFeatureCollection(null, JsonSequencesDecoder::decodeSequence).size());
+        // empty object
+        assertNumberOfDecodedSequences(0, "{}");
+        // object without type=FeatureCollection
+        assertNumberOfDecodedSequences(0, "{\"features\": []}");
+        // object with wrong value for the type attribute
+        assertNumberOfDecodedSequences(0, "{\"type\": \"SomethingArbitrary\", \"features\": []}");
+        // object without features-array
+        assertNumberOfDecodedSequences(0, "{\"type\": \"FeatureCollection\"}");
+        // object with a value for the features-key, but wrong type (in this case string instead of Array)
+        assertNumberOfDecodedSequences(0, "{\"type\": \"FeatureCollection\", \"features\": \"notAnArray\"}");
+    }
 
-  @Test
-  void testDecodeSequencesWithArbitraryObjectAsFeature() {
-    assertNumberOfDecodedSequences(0, "{\"type\": \"FeatureCollection\", \"features\": [{}]}");
-  }
+    @Test
+    void testDecodeSequencesWithArbitraryObjectAsFeature() {
+        assertNumberOfDecodedSequences(0, "{\"type\": \"FeatureCollection\", \"features\": [{}]}");
+    }
 
-  private static void assertNumberOfDecodedSequences(int expectedNumberOfSequences, String jsonString) {
-    assertEquals(expectedNumberOfSequences, JsonDecoder.decodeFeatureCollection(
-      Json.createReader(new ByteArrayInputStream(jsonString.getBytes(StandardCharsets.UTF_8))).readObject(),
-      JsonSequencesDecoder::decodeSequence
-    ).size());
-  }
+    private static void assertNumberOfDecodedSequences(int expectedNumberOfSequences, String jsonString) {
+        assertEquals(expectedNumberOfSequences, JsonDecoder.decodeFeatureCollection(
+                Json.createReader(new ByteArrayInputStream(jsonString.getBytes(StandardCharsets.UTF_8))).readObject(),
+                JsonSequencesDecoder::decodeSequence).size());
+    }
 
-  @Disabled
-  @Test
-  void testDecodeSequence() {
-    StreetsideSequence exampleSequence = JsonSequencesDecoder.decodeSequence(
-      Json.createReader(this.getClass().getResourceAsStream("/api/v3/responses/sequence.json")).readObject()
-    );
-    assertEquals("cHBf9e8n0pG8O0ZVQHGFBQ", exampleSequence.getId());
-    assertEquals(1_457_963_077_206L, exampleSequence.getCd()); // 2016-03-14T13:44:37.206 UTC
-    assertEquals(2, exampleSequence.getImages().size());
+    @Disabled
+    @Test
+    void testDecodeSequence() {
+        StreetsideSequence exampleSequence = JsonSequencesDecoder.decodeSequence(
+                Json.createReader(this.getClass().getResourceAsStream("/api/v3/responses/sequence.json")).readObject());
+        assertEquals("cHBf9e8n0pG8O0ZVQHGFBQ", exampleSequence.getId());
+        assertEquals(1_457_963_077_206L, exampleSequence.getCd()); // 2016-03-14T13:44:37.206 UTC
+        assertEquals(2, exampleSequence.getImages().size());
 
-    assertEquals(new StreetsideImage("76P0YUrlDD_lF6J7Od3yoA", new LatLon(16.43279, 7.246085), 96.71454), exampleSequence.getImages().get(0));
-    assertEquals(new StreetsideImage("Ap_8E0BwoAqqewhJaEbFyQ", new LatLon(16.432799, 7.246082), 96.47705000000002), exampleSequence.getImages().get(1));
-  }
+        assertEquals(new StreetsideImage("76P0YUrlDD_lF6J7Od3yoA", new LatLon(16.43279, 7.246085), 96.71454),
+                exampleSequence.getImages().get(0));
+        assertEquals(new StreetsideImage("Ap_8E0BwoAqqewhJaEbFyQ", new LatLon(16.432799, 7.246082), 96.47705000000002),
+                exampleSequence.getImages().get(1));
+    }
 
-  @Test
-  void testDecodeSequenceInvalid() {
-    // null input
-    Assertions.assertNull(JsonSequencesDecoder.decodeSequence(null));
-    // `properties` key is not set
-    assertDecodesToNull(JsonSequencesDecoder::decodeSequence, "{\"type\": \"Feature\"}");
-    // value for the key `key` in the properties is missing
-    assertDecodesToNull(JsonSequencesDecoder::decodeSequence,
-      "{\"type\": \"Feature\", \"properties\": {}}"
-    );
-    // value for the key `user_key` in the properties is missing
-    assertDecodesToNull(
-      JsonSequencesDecoder::decodeSequence,
-      "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\"}}"
-    );
-    // value for the key `captured_at` in the properties is missing
-    assertDecodesToNull(
-      JsonSequencesDecoder::decodeSequence,
-      "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\", \"user_key\": \"arbitraryUserKey\"}}"
-    );
-    // the date in `captured_at` has an unrecognized format
-    assertDecodesToNull(
-      JsonSequencesDecoder::decodeSequence,
-      "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\", \"captured_at\": \"unrecognizedDateFormat\"}}"
-    );
-    // the `image_key` array and the `cas` array contain unexpected values (in this case `null`)
-    assertDecodesToNull(
-      JsonSequencesDecoder::decodeSequence,
-      "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\", \"user_key\": \"arbitraryUserKey\",",
-      "\"captured_at\": \"1970-01-01T00:00:00.000Z\",",
-      "\"coordinateProperties\": {\"cas\": [null, null, null, null, 1.0, 1.0, 1.0],",
-      "\"image_keys\": [null, null, \"key\", \"key\", null, null, \"key\"]}},",
-      "\"geometry\": {\"type\": \"LineString\", \"coordinates\": [null, [1,1], null, [1,1], null, [1,1], null]}}"
-    );
-  }
+    @Test
+    void testDecodeSequenceInvalid() {
+        // null input
+        Assertions.assertNull(JsonSequencesDecoder.decodeSequence(null));
+        // `properties` key is not set
+        assertDecodesToNull(JsonSequencesDecoder::decodeSequence, "{\"type\": \"Feature\"}");
+        // value for the key `key` in the properties is missing
+        assertDecodesToNull(JsonSequencesDecoder::decodeSequence, "{\"type\": \"Feature\", \"properties\": {}}");
+        // value for the key `user_key` in the properties is missing
+        assertDecodesToNull(JsonSequencesDecoder::decodeSequence,
+                "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\"}}");
+        // value for the key `captured_at` in the properties is missing
+        assertDecodesToNull(JsonSequencesDecoder::decodeSequence,
+                "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\", \"user_key\": \"arbitraryUserKey\"}}");
+        // the date in `captured_at` has an unrecognized format
+        assertDecodesToNull(JsonSequencesDecoder::decodeSequence,
+                "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\", \"captured_at\": \"unrecognizedDateFormat\"}}");
+        // the `image_key` array and the `cas` array contain unexpected values (in this case `null`)
+        assertDecodesToNull(JsonSequencesDecoder::decodeSequence,
+                "{\"type\": \"Feature\", \"properties\": {\"key\": \"someKey\", \"user_key\": \"arbitraryUserKey\",",
+                "\"captured_at\": \"1970-01-01T00:00:00.000Z\",",
+                "\"coordinateProperties\": {\"cas\": [null, null, null, null, 1.0, 1.0, 1.0],",
+                "\"image_keys\": [null, null, \"key\", \"key\", null, null, \"key\"]}},",
+                "\"geometry\": {\"type\": \"LineString\", \"coordinates\": [null, [1,1], null, [1,1], null, [1,1], null]}}");
+    }
 
-  /**
-   * Checks if an empty array is returned, if <code>null</code> is supplied to the method as the array.
-   */
-  @Test
-  void testDecodeJsonArray()
-      throws NoSuchMethodException, SecurityException, IllegalAccessException,
-      IllegalArgumentException, InvocationTargetException {
-    Method method = JsonSequencesDecoder.class.getDeclaredMethod("decodeJsonArray", JsonArray.class, Function.class, Class.class);
-    method.setAccessible(true);
-    assertEquals(0, ((String[]) method.invoke(null, null, (Function<JsonValue, String>) val -> null, String.class)).length);
-  }
+    /**
+     * Checks if an empty array is returned, if <code>null</code> is supplied to the method as the array.
+     */
+    @Test
+    void testDecodeJsonArray() throws NoSuchMethodException, SecurityException, IllegalAccessException,
+            IllegalArgumentException, InvocationTargetException {
+        Method method = JsonSequencesDecoder.class.getDeclaredMethod("decodeJsonArray", JsonArray.class, Function.class,
+                Class.class);
+        method.setAccessible(true);
+        assertEquals(0,
+                ((String[]) method.invoke(null, null, (Function<JsonValue, String>) val -> null, String.class)).length);
+    }
 
-  @Test
-  void testDecodeCoordinateProperty() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
-    Method decodeCoordinateProperty = JsonSequencesDecoder.class.getDeclaredMethod(
-      "decodeCoordinateProperty",
-      JsonObject.class,
-      String.class,
-      Function.class,
-      Class.class
-    );
-    decodeCoordinateProperty.setAccessible(true);
+    @Test
+    void testDecodeCoordinateProperty() throws NoSuchMethodException, SecurityException, IllegalAccessException,
+            IllegalArgumentException, InvocationTargetException {
+        Method decodeCoordinateProperty = JsonSequencesDecoder.class.getDeclaredMethod("decodeCoordinateProperty",
+                JsonObject.class, String.class, Function.class, Class.class);
+        decodeCoordinateProperty.setAccessible(true);
 
-    assertEquals(0, ((String[]) decodeCoordinateProperty.invoke(
-      null, null, "key", (Function<JsonValue, String>) val -> "string", String.class
-    )).length);
+        assertEquals(0, ((String[]) decodeCoordinateProperty.invoke(null, null, "key",
+                (Function<JsonValue, String>) val -> "string", String.class)).length);
 
-    assertEquals(0, ((String[]) decodeCoordinateProperty.invoke(
-      null, JsonUtil.string2jsonObject("{\"coordinateProperties\":{\"key\":0}}"), "key", (Function<JsonValue, String>) val -> "string", String.class
-    )).length);
-  }
+        assertEquals(0,
+                ((String[]) decodeCoordinateProperty.invoke(null,
+                        JsonUtil.string2jsonObject("{\"coordinateProperties\":{\"key\":0}}"), "key",
+                        (Function<JsonValue, String>) val -> "string", String.class)).length);
+    }
 
-  @Test
-  void testDecodeLatLons()
-      throws NoSuchMethodException, SecurityException, IllegalAccessException,
-      IllegalArgumentException, InvocationTargetException {
-    Method decodeLatLons = JsonSequencesDecoder.class.getDeclaredMethod("decodeLatLons", JsonObject.class);
-    decodeLatLons.setAccessible(true);
+    @Test
+    void testDecodeLatLons() throws NoSuchMethodException, SecurityException, IllegalAccessException,
+            IllegalArgumentException, InvocationTargetException {
+        Method decodeLatLons = JsonSequencesDecoder.class.getDeclaredMethod("decodeLatLons", JsonObject.class);
+        decodeLatLons.setAccessible(true);
 
-    assertEquals(0, ((LatLon[]) decodeLatLons.invoke(null, (JsonObject) null)).length);
-    assertEquals(0, ((LatLon[]) decodeLatLons.invoke(null, JsonUtil.string2jsonObject("{\"coordinates\":0}"))).length);
-    assertEquals(0, ((LatLon[]) decodeLatLons.invoke(null, JsonUtil.string2jsonObject("{\"coordinates\":[]}"))).length);
+        assertEquals(0, ((LatLon[]) decodeLatLons.invoke(null, (JsonObject) null)).length);
+        assertEquals(0,
+                ((LatLon[]) decodeLatLons.invoke(null, JsonUtil.string2jsonObject("{\"coordinates\":0}"))).length);
+        assertEquals(0,
+                ((LatLon[]) decodeLatLons.invoke(null, JsonUtil.string2jsonObject("{\"coordinates\":[]}"))).length);
 
-    assertEquals(0, ((LatLon[]) decodeLatLons.invoke(null, Json.createReader(new ByteArrayInputStream(
-      "{\"type\": \"Feature\", \"coordinates\": []}".getBytes(StandardCharsets.UTF_8)
-    )).readObject())).length);
+        assertEquals(0,
+                ((LatLon[]) decodeLatLons.invoke(null,
+                        Json.createReader(new ByteArrayInputStream(
+                                "{\"type\": \"Feature\", \"coordinates\": []}".getBytes(StandardCharsets.UTF_8)))
+                                .readObject())).length);
 
-    LatLon[] example = (LatLon[]) decodeLatLons.invoke(null, Json.createReader(new ByteArrayInputStream(
-      "{\"type\": \"LineString\", \"coordinates\": [ [1,2,3], [\"a\", 2], [1, \"b\"] ]}".getBytes(StandardCharsets.UTF_8)
-    )).readObject());
-    assertEquals(3, example.length);
-    Assertions.assertNull(example[0]);
-    Assertions.assertNull(example[1]);
-    Assertions.assertNull(example[2]);
-  }
+        LatLon[] example = (LatLon[]) decodeLatLons.invoke(null,
+                Json.createReader(new ByteArrayInputStream(
+                        "{\"type\": \"LineString\", \"coordinates\": [ [1,2,3], [\"a\", 2], [1, \"b\"] ]}"
+                                .getBytes(StandardCharsets.UTF_8)))
+                        .readObject());
+        assertEquals(3, example.length);
+        Assertions.assertNull(example[0]);
+        Assertions.assertNull(example[1]);
+        Assertions.assertNull(example[2]);
+    }
 
-  @Test
-  void testUtilityClass() {
-    TestUtil.testUtilityClass(JsonSequencesDecoder.class);
-  }
+    @Test
+    void testUtilityClass() {
+        TestUtil.testUtilityClass(JsonSequencesDecoder.class);
+    }
 
 }
