Index: trunk/test/performance/org/openstreetmap/josm/gui/mappaint/MapRendererPerformanceTest.java
===================================================================
--- trunk/test/performance/org/openstreetmap/josm/gui/mappaint/MapRendererPerformanceTest.java	(revision 19033)
+++ trunk/test/performance/org/openstreetmap/josm/gui/mappaint/MapRendererPerformanceTest.java	(revision 19050)
@@ -180,5 +180,5 @@
     }
 
-    private static class PerformanceTester {
+    private static final class PerformanceTester {
         public double scale = 0;
         public LatLon center = LL_CITY;
Index: trunk/test/unit/org/openstreetmap/josm/actions/UploadActionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/actions/UploadActionTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/actions/UploadActionTest.java	(revision 19050)
@@ -85,5 +85,5 @@
     }
 
-    private static class UploadDialogMock extends MockUp<UploadDialog> {
+    private static final class UploadDialogMock extends MockUp<UploadDialog> {
         @Mock
         public void pack(final Invocation invocation) {
@@ -101,5 +101,5 @@
 
         @Mock
-        public final boolean isCanceled(final Invocation invocation) {
+        public boolean isCanceled(final Invocation invocation) {
             if (!GraphicsEnvironment.isHeadless()) {
                 return Boolean.TRUE.equals(invocation.proceed());
Index: trunk/test/unit/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyActionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyActionTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyActionTest.java	(revision 19050)
@@ -51,5 +51,5 @@
     private static final int HEIGHT = 600;
 
-    private static class AlwaysDeleteCallback implements DeleteCommand.DeletionCallback {
+    private static final class AlwaysDeleteCallback implements DeleteCommand.DeletionCallback {
         @Override
         public boolean checkAndConfirmOutlyingDelete(Collection<? extends OsmPrimitive> primitives, Collection<? extends OsmPrimitive> ignore) {
Index: trunk/test/unit/org/openstreetmap/josm/actions/upload/UploadNotesTaskTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/actions/upload/UploadNotesTaskTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/actions/upload/UploadNotesTaskTest.java	(revision 19050)
@@ -157,5 +157,5 @@
     }
 
-    private static class FakeOsmApiMocker extends MockUp<FakeOsmApi> {
+    private static final class FakeOsmApiMocker extends MockUp<FakeOsmApi> {
         Collection<Note> closed = new ArrayList<>();
         Collection<Note> commented = new ArrayList<>();
Index: trunk/test/unit/org/openstreetmap/josm/command/CommandTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/command/CommandTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/command/CommandTest.java	(revision 19050)
@@ -4,4 +4,5 @@
 import java.util.Arrays;
 
+import org.junit.jupiter.api.Test;
 import org.openstreetmap.josm.TestUtils;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -19,5 +20,4 @@
 import nl.jqno.equalsverifier.EqualsVerifier;
 import nl.jqno.equalsverifier.Warning;
-import org.junit.jupiter.api.Test;
 
 /**
@@ -100,5 +100,5 @@
          * @return The way.
          */
-        public Way createWay(int id, Node...nodes) {
+        public Way createWay(int id, Node... nodes) {
             Way way = new Way();
             way.setOsmId(id, 1);
@@ -115,5 +115,5 @@
          * @return The relation.
          */
-        public Relation createRelation(int id, RelationMember...members) {
+        public Relation createRelation(int id, RelationMember... members) {
             Relation relation = new Relation(id, 1);
             for (RelationMember member : members) {
Index: trunk/test/unit/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJobTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJobTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJobTest.java	(revision 19050)
@@ -85,5 +85,5 @@
     }
 
-    private static class Listener implements ICachedLoaderListener {
+    private static final class Listener implements ICachedLoaderListener {
         private CacheEntryAttributes attributes;
         private boolean ready;
@@ -513,5 +513,5 @@
      */
     @Test
-    public void testCheckUsing304() throws IOException {
+    void testCheckUsing304() throws IOException {
         ICacheAccess<String, CacheEntry> cache = getCache();
         long expires = TimeUnit.DAYS.toMillis(1);
Index: trunk/test/unit/org/openstreetmap/josm/data/gpx/GpxDataTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/gpx/GpxDataTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/data/gpx/GpxDataTest.java	(revision 19050)
@@ -457,5 +457,5 @@
     }
 
-    private static class TestChangeListener implements GpxDataChangeListener {
+    private static final class TestChangeListener implements GpxDataChangeListener {
 
         private GpxDataChangeEvent lastEvent;
Index: trunk/test/unit/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJobTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJobTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJobTest.java	(revision 19050)
@@ -99,5 +99,5 @@
     }
 
-    private static class Listener implements TileLoaderListener {
+    private static final class Listener implements TileLoaderListener {
         private CacheEntryAttributes attributes;
         private boolean ready;
Index: trunk/test/unit/org/openstreetmap/josm/data/imagery/vectortile/mapbox/MapboxVectorTileSourceTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/imagery/vectortile/mapbox/MapboxVectorTileSourceTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/data/imagery/vectortile/mapbox/MapboxVectorTileSourceTest.java	(revision 19050)
@@ -27,5 +27,5 @@
  */
 class MapboxVectorTileSourceTest implements TileSourceTest {
-    private static class SelectLayerDialogMocker extends ExtendedDialogMocker {
+    private static final class SelectLayerDialogMocker extends ExtendedDialogMocker {
         int index;
         @Override
Index: trunk/test/unit/org/openstreetmap/josm/data/oauth/OAuth20AuthorizationTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/oauth/OAuth20AuthorizationTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/data/oauth/OAuth20AuthorizationTest.java	(revision 19050)
@@ -17,22 +17,4 @@
 import java.util.stream.Stream;
 
-import com.github.tomakehurst.wiremock.client.WireMock;
-import com.github.tomakehurst.wiremock.common.FileSource;
-import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
-import com.github.tomakehurst.wiremock.extension.Parameters;
-import com.github.tomakehurst.wiremock.extension.ResponseTransformer;
-import com.github.tomakehurst.wiremock.http.FixedDelayDistribution;
-import com.github.tomakehurst.wiremock.http.HttpHeader;
-import com.github.tomakehurst.wiremock.http.HttpHeaders;
-import com.github.tomakehurst.wiremock.http.QueryParameter;
-import com.github.tomakehurst.wiremock.http.Request;
-import com.github.tomakehurst.wiremock.http.Response;
-import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
-import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
-import com.github.tomakehurst.wiremock.matching.AnythingPattern;
-import com.github.tomakehurst.wiremock.matching.EqualToPattern;
-import com.github.tomakehurst.wiremock.matching.StringValuePattern;
-import mockit.Mock;
-import mockit.MockUp;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -50,4 +32,22 @@
 import org.openstreetmap.josm.tools.Logging;
 
+import com.github.tomakehurst.wiremock.client.WireMock;
+import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
+import com.github.tomakehurst.wiremock.extension.ResponseTransformerV2;
+import com.github.tomakehurst.wiremock.http.FixedDelayDistribution;
+import com.github.tomakehurst.wiremock.http.HttpHeader;
+import com.github.tomakehurst.wiremock.http.HttpHeaders;
+import com.github.tomakehurst.wiremock.http.QueryParameter;
+import com.github.tomakehurst.wiremock.http.Request;
+import com.github.tomakehurst.wiremock.http.Response;
+import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
+import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
+import com.github.tomakehurst.wiremock.matching.AnythingPattern;
+import com.github.tomakehurst.wiremock.matching.EqualToPattern;
+import com.github.tomakehurst.wiremock.matching.StringValuePattern;
+import com.github.tomakehurst.wiremock.stubbing.ServeEvent;
+import mockit.Mock;
+import mockit.MockUp;
+
 @BasicPreferences
 @HTTP
@@ -70,9 +70,11 @@
     }
 
-    private static class OAuthServerWireMock extends ResponseTransformer {
+    private static final class OAuthServerWireMock implements ResponseTransformerV2 {
         String stateToReturn;
         ConnectionProblems connectionProblems = ConnectionProblems.NONE;
+
         @Override
-        public Response transform(Request request, Response response, FileSource files, Parameters parameters) {
+        public Response transform(Response response, ServeEvent serveEvent) {
+            final var request = serveEvent.getRequest();
             try {
                 if (request.getUrl().startsWith("/oauth2/authorize")) {
@@ -158,8 +160,8 @@
     /**
      * Set up the default wiremock information
-     * @param wireMockRuntimeInfo The info to set up
      */
     @BeforeEach
-    void setupWireMock(WireMockRuntimeInfo wireMockRuntimeInfo) {
+    void setupWireMock() {
+        final WireMockRuntimeInfo wireMockRuntimeInfo = wml.getRuntimeInfo();
         Config.getPref().put("osm-server.url", wireMockRuntimeInfo.getHttpBaseUrl() + "/api/");
         new MockUp<JosmUrls>() {
@@ -195,7 +197,7 @@
 
     @Test
-    void testAuthorize(WireMockRuntimeInfo wireMockRuntimeInfo) throws IOException {
+    void testAuthorize() throws IOException {
         final AtomicReference<Optional<IOAuthToken>> consumer = new AtomicReference<>();
-        final HttpClient client = generateClient(wireMockRuntimeInfo, consumer);
+        final HttpClient client = generateClient(wml.getRuntimeInfo(), consumer);
         try {
             HttpClient.Response response = client.connect();
@@ -212,8 +214,8 @@
 
     @Test
-    void testAuthorizeBadState(WireMockRuntimeInfo wireMockRuntimeInfo) throws IOException {
+    void testAuthorizeBadState() throws IOException {
         oauthServer.stateToReturn = "Bad_State";
         final AtomicReference<Optional<IOAuthToken>> consumer = new AtomicReference<>();
-        final HttpClient client = generateClient(wireMockRuntimeInfo, consumer);
+        final HttpClient client = generateClient(wml.getRuntimeInfo(), consumer);
         try {
             HttpClient.Response response = client.connect();
@@ -228,5 +230,5 @@
 
     @Test
-    void testSocketTimeout(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testSocketTimeout() throws Exception {
         // 1s before timeout
         Config.getPref().putInt("socket.timeout.connect", 1);
@@ -235,5 +237,5 @@
 
         final AtomicReference<Optional<IOAuthToken>> consumer = new AtomicReference<>();
-        final HttpClient client = generateClient(wireMockRuntimeInfo, consumer)
+        final HttpClient client = generateClient(wml.getRuntimeInfo(), consumer)
                 .setConnectTimeout(15_000).setReadTimeout(30_000);
         try {
Index: trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java	(revision 19050)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data.projection;
+
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedReader;
@@ -45,5 +47,5 @@
     private static final String PROJECTION_DATA_FILE = "nodist/data/projection/projection-regression-test-data";
 
-    private static class TestData {
+    private static final class TestData {
         public String code;
         public LatLon ll;
@@ -185,5 +187,5 @@
         if (fail.length() > 0) {
             System.err.println(fail);
-            throw new AssertionError(fail.toString());
+            fail(fail.toString());
         }
     }
Index: trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditorTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditorTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditorTest.java	(revision 19050)
@@ -324,7 +324,7 @@
     }
 
-    private static class PasteMembersActionMock extends MockUp<PasteMembersAction> {
+    private static final class PasteMembersActionMock extends MockUp<PasteMembersAction> {
         @Mock
-        protected void updateEnabledState() {
+        public void updateEnabledState() {
             // Do nothing
         }
Index: trunk/test/unit/org/openstreetmap/josm/gui/io/SaveLayersDialogTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/io/SaveLayersDialogTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/gui/io/SaveLayersDialogTest.java	(revision 19050)
@@ -162,5 +162,5 @@
     }
 
-    private static class GraphicsEnvironmentMock extends MockUp<GraphicsEnvironment> {
+    private static final class GraphicsEnvironmentMock extends MockUp<GraphicsEnvironment> {
         @Mock
         public static boolean isHeadless(Invocation invocation) {
@@ -169,5 +169,5 @@
     }
 
-    private static class SaveLayersDialogMock extends MockUp<SaveLayersDialog> {
+    private static final class SaveLayersDialogMock extends MockUp<SaveLayersDialog> {
         private final SaveLayersModel model = new SaveLayersModel();
         private int getUserActionCalled = 0;
Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/plugin/PluginPreferenceHighLevelTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/plugin/PluginPreferenceHighLevelTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/plugin/PluginPreferenceHighLevelTest.java	(revision 19050)
@@ -19,8 +19,4 @@
 import javax.swing.JOptionPane;
 
-import com.github.tomakehurst.wiremock.client.WireMock;
-import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
-import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
-import mockit.MockUp;
 import org.awaitility.Awaitility;
 import org.junit.jupiter.api.AfterEach;
@@ -44,4 +40,8 @@
 import org.openstreetmap.josm.testutils.mockers.JOptionPaneSimpleMocker;
 
+import com.github.tomakehurst.wiremock.client.WireMock;
+import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
+import mockit.MockUp;
+
 /**
  * Higher level tests of {@link PluginPreference} class.
@@ -132,5 +132,5 @@
      */
     @Test
-    void testInstallWithoutUpdate(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testInstallWithoutUpdate() throws Exception {
         final PluginServer pluginServer = new PluginServer(
             new PluginServer.RemotePlugin(this.referenceDummyJarNew),
@@ -138,5 +138,5 @@
             new PluginServer.RemotePlugin(null, Collections.singletonMap("Plugin-Version", "2"), "irrelevant_plugin")
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Collections.singletonList("dummy_plugin"));
 
@@ -238,5 +238,5 @@
      */
     @Test
-    void testDisablePluginWithUpdatesAvailable(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testDisablePluginWithUpdatesAvailable() throws Exception {
         final PluginServer pluginServer = new PluginServer(
             new PluginServer.RemotePlugin(this.referenceDummyJarNew),
@@ -244,5 +244,5 @@
             new PluginServer.RemotePlugin(null, null, "irrelevant_plugin")
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Arrays.asList("baz_plugin", "dummy_plugin"));
 
@@ -346,5 +346,5 @@
      */
     @Test
-    void testUpdateOnlySelectedPlugin(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testUpdateOnlySelectedPlugin() throws Exception {
         TestUtils.assumeWorkingJMockit();
         final PluginServer pluginServer = new PluginServer(
@@ -352,5 +352,5 @@
             new PluginServer.RemotePlugin(this.referenceBazJarNew)
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Arrays.asList("baz_plugin", "dummy_plugin"));
 
@@ -516,5 +516,5 @@
      */
     @Test
-    void testUpdateWithNoAvailableUpdates(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testUpdateWithNoAvailableUpdates() throws Exception {
         TestUtils.assumeWorkingJMockit();
         final PluginServer pluginServer = new PluginServer(
@@ -523,5 +523,5 @@
             new PluginServer.RemotePlugin(null, Collections.singletonMap("Plugin-Version", "123"), "irrelevant_plugin")
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Arrays.asList("baz_plugin", "dummy_plugin"));
 
@@ -644,5 +644,5 @@
      */
     @Test
-    void testInstallWithoutRestartRequired(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testInstallWithoutRestartRequired() throws Exception {
         TestUtils.assumeWorkingJMockit();
         final boolean[] loadPluginsCalled = new boolean[] {false};
@@ -665,5 +665,5 @@
             new PluginServer.RemotePlugin(this.referenceBazJarNew)
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Collections.emptyList());
 
@@ -756,5 +756,5 @@
     @AssumeRevision("Revision: 7000\n")
     @Test
-    void testInstallMultiVersion(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testInstallMultiVersion() throws Exception {
         TestUtils.assumeWorkingJMockit();
 
@@ -766,5 +766,5 @@
             ))
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         // need to actually serve this older jar from somewhere
         pluginServerRule.stubFor(
Index: trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/AuthorizationHandlerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/AuthorizationHandlerTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/AuthorizationHandlerTest.java	(revision 19050)
@@ -20,5 +20,5 @@
  */
 class AuthorizationHandlerTest {
-    private static class TestAuthorizationConsumer implements AuthorizationHandler.AuthorizationConsumer {
+    private static final class TestAuthorizationConsumer implements AuthorizationHandler.AuthorizationConsumer {
         boolean validated;
         boolean handled;
Index: trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerJOSMTooOldTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerJOSMTooOldTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerJOSMTooOldTest.java	(revision 19050)
@@ -34,5 +34,4 @@
 import com.github.tomakehurst.wiremock.client.WireMock;
 import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
-import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
 
 /**
@@ -110,5 +109,5 @@
      */
     @Test
-    void testUpdatePluginsDownloadBoth(WireMockRuntimeInfo wireMockRuntimeInfo) throws IOException {
+    void testUpdatePluginsDownloadBoth() throws IOException {
         TestUtils.assumeWorkingJMockit();
         final PluginServer pluginServer = new PluginServer(
@@ -116,5 +115,5 @@
             new PluginServer.RemotePlugin(this.referenceBazJarNew)
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Arrays.asList("dummy_plugin", "baz_plugin"));
 
@@ -172,5 +171,5 @@
      */
     @Test
-    void testUpdatePluginsSkipOne(WireMockRuntimeInfo wireMockRuntimeInfo) throws IOException {
+    void testUpdatePluginsSkipOne() throws IOException {
         TestUtils.assumeWorkingJMockit();
         final PluginServer pluginServer = new PluginServer(
@@ -178,5 +177,5 @@
             new PluginServer.RemotePlugin(this.referenceBazJarNew)
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Arrays.asList("dummy_plugin", "baz_plugin"));
 
@@ -244,5 +243,5 @@
      */
     @Test
-    void testUpdatePluginsUnexpectedlyJOSMTooOld(WireMockRuntimeInfo wireMockRuntimeInfo) throws IOException {
+    void testUpdatePluginsUnexpectedlyJOSMTooOld() throws IOException {
         TestUtils.assumeWorkingJMockit();
         final PluginServer pluginServer = new PluginServer(
@@ -250,5 +249,5 @@
             new PluginServer.RemotePlugin(this.referenceBazJarNew, Collections.singletonMap("Plugin-Mainversion", "5500"))
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Collections.singletonList("baz_plugin"));
 
@@ -299,5 +298,5 @@
     @Test
     @AssumeRevision("Revision: 7200\n")
-    void testUpdatePluginsMultiVersionInsufficient(WireMockRuntimeInfo wireMockRuntimeInfo) throws IOException {
+    void testUpdatePluginsMultiVersionInsufficient() throws IOException {
         TestUtils.assumeWorkingJMockit();
 
@@ -308,5 +307,5 @@
             ))
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Arrays.asList("qux_plugin", "baz_plugin"));
 
Index: trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerMultiVersionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerMultiVersionTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerMultiVersionTest.java	(revision 19050)
@@ -91,9 +91,9 @@
     @AssumeRevision("Revision: 7501\n")
     @Test
-    void testUpdatePluginsOneMultiVersion(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testUpdatePluginsOneMultiVersion() throws Exception {
         TestUtils.assumeWorkingJMockit();
 
         final String quxNewerServePath = "/qux/newer.jar";
-        final Map<String, String> attrOverrides = new HashMap<String, String>() {{
+        final Map<String, String> attrOverrides = new HashMap<>() {{
             put("7500_Plugin-Url", "432;" + pluginServerRule.url(quxNewerServePath));
             put("7499_Plugin-Url", "346;" + pluginServerRule.url("/not/served.jar"));
@@ -104,4 +104,5 @@
             new PluginServer.RemotePlugin(this.referenceQuxJarNewest, attrOverrides)
         );
+        final WireMockRuntimeInfo wireMockRuntimeInfo = pluginServerRule.getRuntimeInfo();
         pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
         // need to actually serve this older jar from somewhere
@@ -158,8 +159,8 @@
     @AssumeRevision("Revision: 7000\n")
     @Test
-    void testUpdatePluginsExistingVersionLatestPossible(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
+    void testUpdatePluginsExistingVersionLatestPossible() throws Exception {
         TestUtils.assumeWorkingJMockit();
 
-        final Map<String, String> attrOverrides = new HashMap<String, String>() {{
+        final Map<String, String> attrOverrides = new HashMap<>() {{
             put("7500_Plugin-Url", "432;" + pluginServerRule.url("/dont.jar"));
             put("7499_Plugin-Url", "346;" + pluginServerRule.url("/even.jar"));
@@ -170,5 +171,5 @@
             new PluginServer.RemotePlugin(this.referenceQuxJarNewest, attrOverrides)
         );
-        pluginServer.applyToWireMockServer(wireMockRuntimeInfo);
+        pluginServer.applyToWireMockServer(pluginServerRule.getRuntimeInfo());
         Config.getPref().putList("plugins", Arrays.asList("qux_plugin", "baz_plugin"));
 
Index: trunk/test/unit/org/openstreetmap/josm/spi/lifecycle/LifecycleTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/spi/lifecycle/LifecycleTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/spi/lifecycle/LifecycleTest.java	(revision 19050)
@@ -19,5 +19,5 @@
 @Projection
 class LifecycleTest {
-    private static class InitStatusListenerStub implements InitStatusListener {
+    private static final class InitStatusListenerStub implements InitStatusListener {
 
         boolean updated;
Index: trunk/test/unit/org/openstreetmap/josm/tools/LanguageInfoTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/LanguageInfoTest.java	(revision 19033)
+++ trunk/test/unit/org/openstreetmap/josm/tools/LanguageInfoTest.java	(revision 19050)
@@ -46,5 +46,5 @@
     }
 
-    private static void testGetWikiLanguagePrefixes(LanguageInfo.LocaleType type, String...expected) {
+    private static void testGetWikiLanguagePrefixes(LanguageInfo.LocaleType type, String... expected) {
         final List<String> actual = Stream.of(EN_NZ, DE_DE, PT_BR, CA_ES_VALENCIA, ZN_CN, ZN_TW, AST, EN_GB, RU, NB)
                 .map(locale -> LanguageInfo.getWikiLanguagePrefix(locale, type))
