﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
19354	UndoRedoHandler.getUndoCommands: return unmodifiable list	simon04	team	"Avoids unnecessary list creation.

{{{
#!patch
diff --git a/src/org/openstreetmap/josm/data/UndoRedoHandler.java b/src/org/openstreetmap/josm/data/UndoRedoHandler.java
index 239693b43..c930656a7 100644
--- a/src/org/openstreetmap/josm/data/UndoRedoHandler.java
+++ b/src/org/openstreetmap/josm/data/UndoRedoHandler.java
@@ -1,6 +1,7 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data;
 
+import java.util.Collections;
 import java.util.EventObject;
 import java.util.LinkedList;
 import java.util.List;
@@ -239,8 +240,8 @@ void fire(CommandQueuePreciseListener listener) {
      * @return all commands that were made on the dataset, that can be undone
      * @since 14281
      */
-    public LinkedList<Command> getUndoCommands() {
-        return new LinkedList<>(commands);
+    public List<Command> getUndoCommands() {
+        return Collections.unmodifiableList(commands);
     }
 
     /**
@@ -248,8 +249,8 @@ void fire(CommandQueuePreciseListener listener) {
      * @return all commands that were made and undone on the dataset, that can be redone.
      * @since 14281
      */
-    public LinkedList<Command> getRedoCommands() {
-        return new LinkedList<>(redoCommands);
+    public List<Command> getRedoCommands() {
+        return Collections.unmodifiableList(redoCommands);
     }
 
     /**
}}}

----

Requires recompilation of some plugins:
* reverter
  * https://trac.openstreetmap.org/browser/subversion/applications/editors/josm/plugins/reverter/src/reverter/ReverterUploadHook.java
* utilsplugin2
  * https://trac.openstreetmap.org/browser/subversion/applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectModNodesAction.java
  * https://trac.openstreetmap.org/browser/subversion/applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectModWaysAction.java
* MapWithAI
  * https://gitlab.com/gokaart/JOSM_MapWithAI/blob/master/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java
  * https://gitlab.com/gokaart/JOSM_MapWithAI/blob/master/src/main/java/org/openstreetmap/josm/plugins/mapwithai/commands/CreateConnectionsCommand.java"	enhancement	closed	normal	20.06	Core		fixed	refactoring	taylor.smock
