Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImage.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImage.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImage.java	(revision 36488)
@@ -27,6 +27,5 @@
 
 interface StreetsideAbstractImage extends ILatLon, IQuadBucketType, Comparable<StreetsideAbstractImage>, Serializable
-permits StreetsideImage
-{
+permits StreetsideImage {
 
     /**
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideImage.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideImage.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideImage.java	(revision 36488)
@@ -10,4 +10,6 @@
  * A StreetsideImage object represents each of the images stored in Streetside.
  *
+ * @author nokutu
+ * @author renerr18
  * @param id The unique id for the cubemap
  * @param lat The latitude of the image
@@ -25,8 +27,4 @@
  * @param imageWidth The width for this image tiles
  * @param imageUrlSubdomains The subdomains for this image
- *
- * @author nokutu
- * @author renerr18
- *
  * @see StreetsideData
  */
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideLayer.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideLayer.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsideLayer.java	(revision 36488)
@@ -395,6 +395,6 @@
     @Override
     public Action[] getMenuEntries() {
-        return new Action[] { LayerListDialog.getInstance().createShowHideLayerAction(),
-                LayerListDialog.getInstance().createDeleteLayerAction(), new LayerListPopup.InfoAction(this) };
+        return new Action[] {LayerListDialog.getInstance().createShowHideLayerAction(),
+                LayerListDialog.getInstance().createDeleteLayerAction(), new LayerListPopup.InfoAction(this)};
     }
 
@@ -487,8 +487,8 @@
 
     private record NearestImgToTargetComparator(StreetsideAbstractImage target) implements Comparator<StreetsideAbstractImage> {
-
-    @Override
-    public int compare(StreetsideAbstractImage img1, StreetsideAbstractImage img2) {
-        return (int) Math.signum(img1.greatCircleDistance(target) - img2.greatCircleDistance(target));
-    }
-}}
+        @Override
+        public int compare(StreetsideAbstractImage img1, StreetsideAbstractImage img2) {
+            return (int) Math.signum(img1.greatCircleDistance(target) - img2.greatCircleDistance(target));
+        }
+    }
+}
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsidePlugin.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsidePlugin.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/StreetsidePlugin.java	(revision 36488)
@@ -52,5 +52,5 @@
 
     static StreetsideDataListener[] getStreetsideDataListeners() {
-        return new StreetsideDataListener[] { WALK_ACTION, ZOOM_ACTION, CubemapBuilder.getInstance() };
+        return new StreetsideDataListener[] {WALK_ACTION, ZOOM_ACTION, CubemapBuilder.getInstance()};
     }
 
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils.java	(revision 36488)
@@ -136,6 +136,5 @@
     }
 
-    private static class IgnoreDownload implements ICachedLoaderListener {
-
+    private static final class IgnoreDownload implements ICachedLoaderListener {
         @Override
         public void loadingFinished(CacheEntry arg0, CacheEntryAttributes arg1, LoadResult arg2) {
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox.java	(revision 36488)
@@ -28,5 +28,5 @@
     private final ImageView up = new ImageView();
     private final ImageView down = new ImageView();
-    private final ImageView[] views = new ImageView[] { front, right, back, left, up, down };
+    private final ImageView[] views = new ImageView[] {front, right, back, left, up, down};
     private final Image frontImg;
     private final Image rightImg;
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBuilder.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBuilder.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBuilder.java	(revision 36488)
@@ -138,5 +138,5 @@
             if (Boolean.TRUE.equals(StreetsideProperties.DEBUGING_ENABLED.get())) {
                 LOGGER.log(Logging.LEVEL_DEBUG, "Completed downloading tiles for {0} in {1} seconds.",
-                        new Object[] { newImage.id(), runTime });
+                        new Object[] {newImage.id(), runTime});
             }
         }
@@ -275,6 +275,6 @@
                 LOGGER.log(Logging.LEVEL_DEBUG,
                         "{0} tile images ready for building cumbemap faces for cubemap {1} in {2} seconds.",
-                        new Object[] { currentTileCount.get(), CubemapBuilder.getInstance().getCubemap().id(),
-                                Long.toString(runTime) });
+                        new Object[] {currentTileCount.get(), CubemapBuilder.getInstance().getCubemap().id(),
+                                Long.toString(runTime)});
             }
 
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTask.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTask.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTask.java	(revision 36488)
@@ -120,5 +120,5 @@
                 long endTime = System.currentTimeMillis();
                 long runTime = (endTime - startTime) / 1000;
-                LOGGER.log(Logging.LEVEL_DEBUG, "Loaded image for {0} in {1} seconds.", new Object[] { url, runTime });
+                LOGGER.log(Logging.LEVEL_DEBUG, "Loaded image for {0} in {1} seconds.", new Object[] {url, runTime});
             }
         } catch (IOException e) {
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay.java	(revision 36488)
@@ -217,5 +217,5 @@
     }
 
-    private class ImgDisplayMouseListener implements MouseListener, MouseWheelListener, MouseMotionListener {
+    private final class ImgDisplayMouseListener implements MouseListener, MouseWheelListener, MouseMotionListener {
         private boolean mouseIsDragging;
         private long lastTimeForMousePoint;
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting.java	(revision 36488)
@@ -45,6 +45,6 @@
 
     private final JComboBox<String> downloadModeComboBox = new JComboBox<>(
-            new String[] { DOWNLOAD_MODE.VISIBLE_AREA.getLabel(), DOWNLOAD_MODE.OSM_AREA.getLabel(),
-                    DOWNLOAD_MODE.MANUAL_ONLY.getLabel() });
+            new String[] {DOWNLOAD_MODE.VISIBLE_AREA.getLabel(), DOWNLOAD_MODE.OSM_AREA.getLabel(),
+                    DOWNLOAD_MODE.MANUAL_ONLY.getLabel()});
 
     private final JCheckBox displayHour = new JCheckBox(I18n.tr("Display hour when the picture was taken"),
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoHelpPopup.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoHelpPopup.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoHelpPopup.java	(revision 36488)
@@ -47,9 +47,10 @@
         mainText.setContentType("text/html");
         mainText.setFont(SelectableLabel.DEFAULT_FONT);
-        mainText.setText("<html><div style='width:250px'>"
-                + "Welcome to the Microsoft Streetside JOSM Plugin. To view the vector bubbles for the 360 degree imagery, select Imagery->Streetside from the JOSM menu."
+        mainText.setText(I18n.tr("<html><div style='width:250px'>"
+                + "Welcome to the Microsoft Streetside JOSM Plugin. To view the vector bubbles for the 360 degree imagery, "
+                + "select Imagery->Streetside from the JOSM menu."
                 + "<br><br>"
                 + "Once the blue bubbles appear on the map, click on a vector bubble and undock/maximize the 360 viewer to view the imagery."
-                + "</div></html>");
+                + "</div></html>"));
         add(mainText, BorderLayout.CENTER);
 
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerPanel.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerPanel.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerPanel.java	(revision 36488)
@@ -86,9 +86,9 @@
         final var checkPanel = new JPanel();
 
-        final var imgReloadAction = new ImageReloadAction("Reload");
+        final var imgReloadAction = new ImageReloadAction(I18n.tr("Reload"));
 
         final var imgReloadButton = new StreetsideButton(imgReloadAction);
 
-        final var highResImageryCheck = new JCheckBox("High resolution");
+        final var highResImageryCheck = new JCheckBox(I18n.tr("High resolution"));
         highResImageryCheck.setSelected(StreetsideProperties.SHOW_HIGH_RES_STREETSIDE_IMAGERY.get());
         highResImageryCheck.addActionListener(
@@ -101,5 +101,5 @@
         final var privacyLink = new JPanel();
 
-        imgLinkAction = new WebLinkAction("Report a privacy concern with this image", null);
+        imgLinkAction = new WebLinkAction(I18n.tr("Report a privacy concern with this image"), null);
         privacyLink.add(new StreetsideButton(imgLinkAction, true));
         checkPanel.add(privacyLink, BorderLayout.PAGE_END);
@@ -150,5 +150,5 @@
             if (Boolean.TRUE.equals(StreetsideProperties.DEBUGING_ENABLED.get())) {
                 LOGGER.log(Logging.LEVEL_DEBUG, "Privacy link set for Streetside image {0} quadKey {1}",
-                        new Object[] { bubbleId, newImageId });
+                        new Object[] {bubbleId, newImageId});
             }
 
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/io/download/BoundsDownloadRunnable.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/io/download/BoundsDownloadRunnable.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/io/download/BoundsDownloadRunnable.java	(revision 36488)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.streetside.io.download;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.GraphicsEnvironment;
@@ -39,5 +41,5 @@
                 if (Thread.interrupted()) {
                     LOGGER.log(Logging.LEVEL_ERROR, "{0} for {1} interrupted!",
-                            new Object[] { getClass().getSimpleName(), bounds });
+                            new Object[] {getClass().getSimpleName(), bounds});
                     return;
                 }
@@ -47,5 +49,5 @@
             }
         } catch (IOException e) {
-            String message = "Could not read from URL " + nextURL + "!";
+            String message = tr("Could not read from URL %s!", nextURL);
             LOGGER.log(Logging.LEVEL_WARN, message, e);
             if (!GraphicsEnvironment.isHeadless()) {
@@ -56,4 +58,4 @@
     }
 
-    public abstract void run(final URLConnection connection) throws IOException;
+    public abstract void run(URLConnection connection) throws IOException;
 }
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnable.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnable.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnable.java	(revision 36488)
@@ -74,5 +74,5 @@
             final long endTime = System.currentTimeMillis();
             LOG.log(Level.INFO, "Successfully loaded {0} Microsoft Streetside images in {1} seconds.",
-                    new Object[] { this.images.size(), (endTime - startTime) / 1000 });
+                    new Object[] {this.images.size(), (endTime - startTime) / 1000});
         } catch (DateTimeParseException dateTimeParseException) {
             // Added to debug #23658 -- a valid date string caused an exception
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode.java	(revision 36488)
@@ -62,5 +62,5 @@
     }
 
-    private static class SemiautomaticThread extends Thread {
+    private static final class SemiautomaticThread extends Thread {
 
         /**
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/mode/SelectMode.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/mode/SelectMode.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/mode/SelectMode.java	(revision 36488)
@@ -51,10 +51,10 @@
             if (closestTemp != null && !imageHighlighted) {
                 if (MainApplication.getMap().mapMode != null) {
-                    MainApplication.getMap().mapMode.putValue("active", Boolean.FALSE);
+                    MainApplication.getMap().mapMode.putValue("active", false);
                 }
                 imageHighlighted = true;
             } else if (closestTemp == null && imageHighlighted && nothingHighlighted) {
                 if (MainApplication.getMap().mapMode != null) {
-                    MainApplication.getMap().mapMode.putValue("active", Boolean.TRUE);
+                    MainApplication.getMap().mapMode.putValue("active", true);
                 }
                 nothingHighlighted = false;
Index: /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/utils/ImageUtil.java
===================================================================
--- /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/utils/ImageUtil.java	(revision 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/src/org/openstreetmap/josm/plugins/streetside/utils/ImageUtil.java	(revision 36488)
@@ -30,5 +30,5 @@
     public static ImageIcon scaleImageIcon(final ImageIcon icon, int size) {
         if (Boolean.TRUE.equals(StreetsideProperties.DEBUGING_ENABLED.get())) {
-            LOGGER.log(Logging.LEVEL_DEBUG, "Scale icon {0} → {1}", new Object[] { icon.getIconWidth(), size });
+            LOGGER.log(Logging.LEVEL_DEBUG, "Scale icon {0} → {1}", new Object[] {icon.getIconWidth(), size});
         }
         return new ImageIcon(
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 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/StreetsideLayerTest.java	(revision 36488)
@@ -50,5 +50,6 @@
     }
 
-    @DisabledIf(value = "java.awt.GraphicsEnvironment#isHeadless", disabledReason = "Listener for destruction is only registered in non-headless environments")
+    @DisabledIf(value = "java.awt.GraphicsEnvironment#isHeadless",
+        disabledReason = "Listener for destruction is only registered in non-headless environments")
     @Test
     void testClearInstance() {
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 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURLTest.java	(revision 36488)
@@ -67,5 +67,5 @@
         method.setAccessible(true);
         // this simply invokes string2URL("malformed URL")
-        Assertions.assertNull(method.invoke(null, (Object) new String[] { "malformed URL" }));
+        Assertions.assertNull(method.invoke(null, (Object) new String[] {"malformed URL"}));
         // invokes string2URL(null)
         Assertions.assertNull(method.invoke(null, (Object) null));
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 36487)
+++ /applications/editors/josm/plugins/MicrosoftStreetside/test/unit/org/openstreetmap/josm/plugins/streetside/utils/TestUtil.java	(revision 36488)
@@ -95,5 +95,7 @@
                 lon, 268.811, 1.395, -4.875, Instant.ofEpochMilli(1614556800000L), Instant.ofEpochMilli(1614643199999L),
                 "https://dev.virtualearth.net/Branding/logo_powered_by.png",
-                "Copyright © 2024 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
+                "Copyright © 2024 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the "
+                + "content and any results may not be used, reproduced or transmitted in any manner without express "
+                + "written permission from Microsoft Corporation.",
                 1, 3, 256, 256, Arrays.asList("t0", "t1", "t2", "t3"));
     }
Index: /applications/editors/josm/plugins/build-common.xml
===================================================================
--- /applications/editors/josm/plugins/build-common.xml	(revision 36487)
+++ /applications/editors/josm/plugins/build-common.xml	(revision 36488)
@@ -601,5 +601,5 @@
         <delete dir="../00_core_test_config/unit-josm.home/cache" failonerror="false"/>
     </target>
-    <target name="test-compile" depends="test-init,dist" if="test.present" unless="skip-test">
+    <target name="test-compile" depends="test-init,dist,plugin-classpath-actual" if="test.present" unless="skip-test">
         <sequential>
             <javac debug="on" includeantruntime="false" srcdir="${plugin.test.dir}/unit" destdir="${plugin.test.dir}/build/unit" encoding="UTF-8"
@@ -608,4 +608,5 @@
                     <fileset refid="plugin.requires.jars"/>
                     <path refid="test.classpath"/>
+                    <path refid="plugin.classpath.actual"/>
                 </classpath>
                 <compilerarg value="-Xlint:all"/>
