Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 16626)
@@ -75,4 +75,5 @@
         way_with_nodes(/* ICON(cursor/modifier/) */ "delete_way_node_only");
 
+        @SuppressWarnings("ImmutableEnumChecker")
         private final Cursor c;
 
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 16626)
@@ -109,4 +109,5 @@
         move(Cursor.MOVE_CURSOR);
 
+        @SuppressWarnings("ImmutableEnumChecker")
         private final Cursor c;
         SelectActionCursor(String main, String sub) {
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 16626)
@@ -32,4 +32,5 @@
     private final Class<? extends OsmPrimitive> osmClass;
     private final Class<? extends PrimitiveData> dataClass;
+    @SuppressWarnings("ImmutableEnumChecker")
     private final UniqueIdGenerator idGenerator;
 
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/PaintColors.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/PaintColors.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/PaintColors.java	(revision 16626)
@@ -79,5 +79,7 @@
     AREA_TEXT(marktr("areatext"), Color.LIGHT_GRAY);
 
+    @SuppressWarnings("ImmutableEnumChecker")
     private final NamedColorProperty baseProperty;
+    @SuppressWarnings("ImmutableEnumChecker")
     private final CachingProperty<Color> property;
 
Index: trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java	(revision 16626)
@@ -185,4 +185,5 @@
         SOUTH(LatLon.SOUTH_POLE);
 
+        @SuppressWarnings("ImmutableEnumChecker")
         private final LatLon latlon;
 
Index: trunk/src/org/openstreetmap/josm/data/validation/Severity.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/Severity.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/data/validation/Severity.java	(revision 16626)
@@ -31,4 +31,5 @@
 
     /** Associated color */
+    @SuppressWarnings("ImmutableEnumChecker") // see https://github.com/google/error-prone/pull/1682
     private final Color color;
 
Index: trunk/src/org/openstreetmap/josm/gui/MenuScroller.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MenuScroller.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/gui/MenuScroller.java	(revision 16626)
@@ -422,4 +422,5 @@
         DOWN(1, 9, 1);
         private static final int[] XPOINTS = {1, 5, 9};
+        @SuppressWarnings("ImmutableEnumChecker")
         private final int[] yPoints;
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/ConflictColors.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/ConflictColors.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/ConflictColors.java	(revision 16626)
@@ -82,4 +82,5 @@
     FGCOLOR_MEMBER_REMOVE(marktr("Conflict foreground: remove member"), Color.black);
 
+    @SuppressWarnings("ImmutableEnumChecker")
     private final NamedColorProperty property;
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java	(revision 16626)
@@ -5,8 +5,4 @@
 import static org.openstreetmap.josm.gui.conflict.pair.ListRole.THEIR_ENTRIES;
 import static org.openstreetmap.josm.tools.I18n.tr;
-
-import java.util.Arrays;
-
-import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -33,9 +29,11 @@
     /** the localized display name */
     private final String displayName;
-    private final ListRole[] participatingRoles;
+    private final ListRole participatingRole1;
+    private final ListRole participatingRole2;
 
-    ComparePairType(String displayName, ListRole... participatingRoles) {
+    ComparePairType(String displayName, ListRole participatingRole1, ListRole participatingRole2) {
         this.displayName = displayName;
-        this.participatingRoles = Utils.copyArray(participatingRoles);
+        this.participatingRole1 = participatingRole1;
+        this.participatingRole2 = participatingRole2;
     }
 
@@ -56,5 +54,5 @@
      */
     public boolean isParticipatingIn(ListRole role) {
-        return Arrays.stream(participatingRoles).anyMatch(r -> r == role);
+        return participatingRole1 == role || participatingRole2 == role;
     }
 
@@ -65,5 +63,5 @@
      */
     public ListRole[] getParticipatingRoles() {
-        return Utils.copyArray(participatingRoles);
+        return new ListRole[]{participatingRole1, participatingRole2};
     }
 
@@ -78,8 +76,5 @@
         if (!isParticipatingIn(role))
             throw new IllegalStateException(tr("Role {0} is not participating in compare pair {1}.", role.toString(), this.toString()));
-        if (participatingRoles[0] == role)
-            return participatingRoles[1];
-        else
-            return participatingRoles[0];
+        return participatingRole1 == role ? participatingRole2 : participatingRole1;
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorListManagementDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorListManagementDialog.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorListManagementDialog.java	(revision 16626)
@@ -49,7 +49,8 @@
         CANCEL(1, tr("Cancel"), new ImageProvider("cancel"));
 
-        private int index;
-        private String name;
-        private ImageIcon icon;
+        private final int index;
+        private final String name;
+        @SuppressWarnings("ImmutableEnumChecker")
+        private final ImageIcon icon;
 
         BUTTONS(int index, String name, ImageProvider image) {
Index: trunk/src/org/openstreetmap/josm/gui/history/TwoColumnDiff.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/TwoColumnDiff.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/gui/history/TwoColumnDiff.java	(revision 16626)
@@ -39,4 +39,5 @@
             EMPTY(new Color(234, 234, 234));
 
+            @SuppressWarnings("ImmutableEnumChecker") // see https://github.com/google/error-prone/pull/1682
             private final Color color;
             DiffItemType(Color color) {
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java	(revision 16626)
@@ -182,4 +182,5 @@
         static final Set<Op> NEGATED_OPS = EnumSet.of(NEQ, NREGEX);
 
+        @SuppressWarnings("ImmutableEnumChecker")
         private final BiPredicate<String, String> function;
 
Index: trunk/src/org/openstreetmap/josm/tools/OptionParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/OptionParser.java	(revision 16625)
+++ trunk/src/org/openstreetmap/josm/tools/OptionParser.java	(revision 16626)
@@ -251,6 +251,6 @@
         MULTIPLE(0, Integer.MAX_VALUE);
 
-        private int min;
-        private int max;
+        private final int min;
+        private final int max;
 
         OptionCount(int min, int max) {
