Index: /trunk/src/javax/json/JsonValueImpl.java
===================================================================
--- /trunk/src/javax/json/JsonValueImpl.java	(revision 14213)
+++ /trunk/src/javax/json/JsonValueImpl.java	(revision 14214)
@@ -83,5 +83,5 @@
         }
         if (obj instanceof JsonValue) {
-            return getValueType().equals(((JsonValue) obj).getValueType());
+            return getValueType() == ((JsonValue) obj).getValueType();
         }
         return false;
Index: /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 14214)
@@ -172,5 +172,5 @@
     protected static ImageryInfo getWMSLayerInfo(ImageryInfo info) throws IOException, WMSGetCapabilitiesException {
         try {
-            CheckParameterUtil.ensureThat(ImageryType.WMS_ENDPOINT.equals(info.getImageryType()), "wms_endpoint imagery type expected");
+            CheckParameterUtil.ensureThat(ImageryType.WMS_ENDPOINT == info.getImageryType(), "wms_endpoint imagery type expected");
             final WMSImagery wms = new WMSImagery(info.getUrl(), info.getCustomHttpHeaders());
 
Index: /trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java	(revision 14214)
@@ -48,5 +48,5 @@
     protected void updateEnabledState() {
         DataSet ds = getLayerManager().getEditDataSet();
-        setEnabled(ds != null && !DownloadPolicy.BLOCKED.equals(ds.getDownloadPolicy())
+        setEnabled(ds != null && DownloadPolicy.BLOCKED != ds.getDownloadPolicy()
                 && !NetworkManager.isOffline(OnlineResource.OSM_API));
     }
Index: /trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 14214)
@@ -124,5 +124,5 @@
         } else {
             DataSet ds = selection.iterator().next().getDataSet();
-            setEnabled(!ds.isLocked() && !DownloadPolicy.BLOCKED.equals(ds.getDownloadPolicy())
+            setEnabled(!ds.isLocked() && DownloadPolicy.BLOCKED != ds.getDownloadPolicy()
                     && !NetworkManager.isOffline(OnlineResource.OSM_API));
         }
Index: /trunk/src/org/openstreetmap/josm/actions/relation/AbstractRelationAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/relation/AbstractRelationAction.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/actions/relation/AbstractRelationAction.java	(revision 14214)
@@ -58,5 +58,5 @@
         OsmData<?, ?, ?, ?> ds = relations.iterator().next().getDataSet();
         return !NetworkManager.isOffline(OnlineResource.OSM_API)
-            && ds != null && !ds.isLocked() && !DownloadPolicy.BLOCKED.equals(ds.getDownloadPolicy());
+            && ds != null && !ds.isLocked() && DownloadPolicy.BLOCKED != ds.getDownloadPolicy();
     }
 }
Index: /trunk/src/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommand.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommand.java	(revision 14214)
@@ -54,7 +54,7 @@
         super.executeCommand();
 
-        if (decision.equals(MergeDecisionType.KEEP_MINE)) {
+        if (decision == MergeDecisionType.KEEP_MINE) {
             // do nothing
-        } else if (decision.equals(MergeDecisionType.KEEP_THEIR)) {
+        } else if (decision == MergeDecisionType.KEEP_THEIR) {
             Node my = (Node) conflict.getMy();
             Node their = (Node) conflict.getTheir();
Index: /trunk/src/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommand.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommand.java	(revision 14214)
@@ -54,5 +54,5 @@
         super.executeCommand();
 
-        if (decision.equals(MergeDecisionType.KEEP_MINE)) {
+        if (decision == MergeDecisionType.KEEP_MINE) {
             if (conflict.getMy().isDeleted() || conflict.isMyDeleted()) {
                 // because my was involved in a conflict it my still be referred
@@ -60,5 +60,5 @@
                 deleteMy();
             }
-        } else if (decision.equals(MergeDecisionType.KEEP_THEIR)) {
+        } else if (decision == MergeDecisionType.KEEP_THEIR) {
             if (conflict.getTheir().isDeleted()) {
                 deleteMy();
Index: /trunk/src/org/openstreetmap/josm/command/conflict/TagConflictResolveCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/conflict/TagConflictResolveCommand.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/command/conflict/TagConflictResolveCommand.java	(revision 14214)
@@ -36,5 +36,5 @@
         int n = 0;
         for (TagMergeItem item: mergeItems) {
-            if (!item.getMergeDecision().equals(MergeDecisionType.UNDECIDED)) {
+            if (item.getMergeDecision() != MergeDecisionType.UNDECIDED) {
                 n++;
             }
@@ -90,5 +90,5 @@
         //
         for (TagMergeItem item: mergeItems) {
-            if (!item.getMergeDecision().equals(MergeDecisionType.UNDECIDED)) {
+            if (item.getMergeDecision() != MergeDecisionType.UNDECIDED) {
                 item.applyToMyPrimitive(conflict.getMy());
             }
Index: /trunk/src/org/openstreetmap/josm/data/imagery/DefaultLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/DefaultLayer.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/DefaultLayer.java	(revision 14214)
@@ -34,5 +34,5 @@
         this.layerName = layerName == null ? "" : layerName;
         this.style = style == null ? "" : style;
-        if (!imageryType.equals(ImageryType.WMTS) && !(tileMatrixSet == null || "".equals(tileMatrixSet))) {
+        if (imageryType != ImageryType.WMTS && !(tileMatrixSet == null || "".equals(tileMatrixSet))) {
             throw new IllegalArgumentException(tr("{0} imagery has tileMatrixSet defined to: {1}", imageryType, tileMatrixSet));
         }
Index: /trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 14214)
@@ -1589,5 +1589,5 @@
      */
     public String getSourceName() {
-        if (ImageryType.BING.equals(getImageryType())) {
+        if (ImageryType.BING == getImageryType()) {
             return "Bing";
         } else {
Index: /trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 14214)
@@ -337,9 +337,8 @@
 
     private static boolean isSimilar(ImageryInfo iiA, ImageryInfo iiB) {
-        if (iiA == null)
+        if (iiA == null || iiA.getImageryType() != iiB.getImageryType())
             return false;
-        if (!iiA.getImageryType().equals(iiB.getImageryType()))
-            return false;
-        if (iiA.getId() != null && iiB.getId() != null) return iiA.getId().equals(iiB.getId());
+        if (iiA.getId() != null && iiB.getId() != null)
+            return iiA.getId().equals(iiB.getId());
         return isSimilar(iiA.getUrl(), iiB.getUrl());
     }
Index: /trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java	(revision 14214)
@@ -164,5 +164,5 @@
             listeners = inProgress.remove(getCacheKey());
         }
-        boolean status = result.equals(LoadResult.SUCCESS);
+        boolean status = result == LoadResult.SUCCESS;
 
         try {
Index: /trunk/src/org/openstreetmap/josm/data/imagery/WMSEndpointTileSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/WMSEndpointTileSource.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/WMSEndpointTileSource.java	(revision 14214)
@@ -41,5 +41,5 @@
     public WMSEndpointTileSource(ImageryInfo info, Projection tileProjection) {
         super(info, tileProjection);
-        CheckParameterUtil.ensure(info, "imageryType", x -> ImageryType.WMS_ENDPOINT.equals(x.getImageryType()));
+        CheckParameterUtil.ensure(info, "imageryType", x -> ImageryType.WMS_ENDPOINT == x.getImageryType());
         try {
             wmsi = new WMSImagery(info.getUrl(), info.getCustomHttpHeaders());
Index: /trunk/src/org/openstreetmap/josm/data/osm/ChangesetDataSet.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/ChangesetDataSet.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/osm/ChangesetDataSet.java	(revision 14214)
@@ -97,5 +97,5 @@
     public boolean isCreated(PrimitiveId id) {
         if (!contains(id)) return false;
-        return ChangesetModificationType.CREATED.equals(getModificationType(id));
+        return ChangesetModificationType.CREATED == getModificationType(id);
     }
 
@@ -110,5 +110,5 @@
     public boolean isUpdated(PrimitiveId id) {
         if (!contains(id)) return false;
-        return ChangesetModificationType.UPDATED.equals(getModificationType(id));
+        return ChangesetModificationType.UPDATED == getModificationType(id);
     }
 
@@ -123,5 +123,5 @@
     public boolean isDeleted(PrimitiveId id) {
         if (!contains(id)) return false;
-        return ChangesetModificationType.DELETED.equals(getModificationType(id));
+        return ChangesetModificationType.DELETED == getModificationType(id);
     }
 
@@ -136,5 +136,5 @@
         CheckParameterUtil.ensureParameterNotNull(cmt, "cmt");
         return modificationTypes.entrySet().stream()
-                .filter(entry -> entry.getValue().equals(cmt))
+                .filter(entry -> entry.getValue() == cmt)
                 .map(entry -> primitives.get(entry.getKey()))
                 .collect(Collectors.toSet());
Index: /trunk/src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java	(revision 14214)
@@ -1178,5 +1178,5 @@
         @Override
         public boolean match(OsmPrimitive osm) {
-            return type.equals(osm.getType());
+            return type == osm.getType();
         }
 
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 14214)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.data.validation.tests;
 
+import static org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.FixCommand.evaluateObject;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
@@ -686,5 +687,5 @@
         for (Set<TagCheck> schecks : checksCol) {
             for (TagCheck check : schecks) {
-                boolean ignoreError = Severity.OTHER.equals(check.getSeverity()) && !includeOtherSeverity;
+                boolean ignoreError = Severity.OTHER == check.getSeverity() && !includeOtherSeverity;
                 // Do not run "information" level checks if not wanted, unless they also set a MapCSS class
                 if (ignoreError && check.setClassExpressions.isEmpty()) {
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/OverlappingWays.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/OverlappingWays.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/OverlappingWays.java	(revision 14214)
@@ -157,5 +157,5 @@
         // see ticket #9598 - only report if at least 3 segments are shared, except for overlapping ways, i.e warnings (see #9820)
         for (TestError error : preliminaryErrors) {
-            if (error.getSeverity().equals(Severity.WARNING) || error.getHighlighted().size() / error.getPrimitives().size() >= 3) {
+            if (error.getSeverity() == Severity.WARNING || error.getHighlighted().size() / error.getPrimitives().size() >= 3) {
                 boolean ignore = false;
                 for (String ignoredKey : IGNORED_KEYS.get()) {
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(revision 14214)
@@ -226,5 +226,5 @@
                     }
                 }
-            } else if (OsmPrimitiveType.RELATION.equals(member.getType()) && !member.getMember().isUsable()
+            } else if (OsmPrimitiveType.RELATION == member.getType() && !member.getMember().isUsable()
                     && r.types.contains(TaggingPresetType.MULTIPOLYGON)) {
                 // if relation is incomplete we cannot verify if it's a multipolygon - so we just skip it
@@ -245,5 +245,5 @@
 
             // Do not raise an error for incomplete ways for which we expect them to be closed, as we cannot know
-            boolean ignored = member.getMember().isIncomplete() && OsmPrimitiveType.WAY.equals(member.getType())
+            boolean ignored = member.getMember().isIncomplete() && OsmPrimitiveType.WAY == member.getType()
                     && !types.contains(TaggingPresetType.WAY) && types.contains(TaggingPresetType.CLOSEDWAY);
             if (!ignored) {
Index: /trunk/src/org/openstreetmap/josm/gui/MapMover.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapMover.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/MapMover.java	(revision 14214)
@@ -180,5 +180,5 @@
             boolean macMovement = e.getModifiersEx() == macMouseMask;
             boolean allowedMode = !map.mapModeSelect.equals(map.mapMode)
-                              || SelectAction.Mode.SELECT.equals(map.mapModeSelect.getMode());
+                              || SelectAction.Mode.SELECT == map.mapModeSelect.getMode();
             allowMovement |= macMovement && allowedMode;
         }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/AbstractListMerger.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/AbstractListMerger.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/AbstractListMerger.java	(revision 14214)
@@ -933,5 +933,5 @@
     public void decideRemaining(MergeDecisionType decision) {
         if (!model.isFrozen()) {
-            model.copyAll(MergeDecisionType.KEEP_MINE.equals(decision) ? ListRole.MY_ENTRIES : ListRole.THEIR_ENTRIES);
+            model.copyAll(MergeDecisionType.KEEP_MINE == decision ? ListRole.MY_ENTRIES : ListRole.THEIR_ENTRIES);
             model.setFrozen(true);
         }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java	(revision 14214)
@@ -55,5 +55,5 @@
     public boolean isParticipatingIn(ListRole role) {
         for (ListRole r: participatingRoles) {
-            if (r.equals(role)) return true;
+            if (r == role) return true;
         }
         return false;
@@ -79,5 +79,5 @@
         if (!isParticipatingIn(role))
             throw new IllegalStateException(tr("Role {0} is not participating in compare pair {1}.", role.toString(), this.toString()));
-        if (participatingRoles[0].equals(role))
+        if (participatingRoles[0] == role)
             return participatingRoles[1];
         else
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java	(revision 14214)
@@ -86,5 +86,5 @@
      */
     public boolean isDecidedCoord() {
-        return !coordMergeDecision.equals(UNDECIDED);
+        return coordMergeDecision != UNDECIDED;
     }
 
@@ -96,5 +96,5 @@
      */
     public boolean isDecidedDeletedState() {
-        return !deletedMergeDecision.equals(UNDECIDED);
+        return deletedMergeDecision != UNDECIDED;
     }
 
@@ -107,5 +107,5 @@
      */
     public boolean isCoordMergeDecision(MergeDecisionType decision) {
-        return coordMergeDecision.equals(decision);
+        return coordMergeDecision == decision;
     }
 
@@ -118,5 +118,5 @@
      */
     public boolean isDeletedStateDecision(MergeDecisionType decision) {
-        return deletedMergeDecision.equals(decision);
+        return deletedMergeDecision == decision;
     }
 
@@ -310,8 +310,8 @@
         boolean ret = true;
         if (hasCoordConflict()) {
-            ret = ret && !coordMergeDecision.equals(UNDECIDED);
+            ret = ret && coordMergeDecision != UNDECIDED;
         }
         if (hasDeletedStateConflict()) {
-            ret = ret && !deletedMergeDecision.equals(UNDECIDED);
+            ret = ret && deletedMergeDecision != UNDECIDED;
         }
         return ret;
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MergedTableCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MergedTableCellRenderer.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MergedTableCellRenderer.java	(revision 14214)
@@ -18,9 +18,9 @@
             return;
         }
-        if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision())) {
+        if (MergeDecisionType.KEEP_MINE == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_COMBINED.get());
-        } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_COMBINED.get());
-        } else if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_UNDECIDED.get());
         }
@@ -30,11 +30,11 @@
     protected void renderKey(TagMergeItem item, boolean isSelected) {
         setBackgroundColor(item, isSelected);
-        if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision()) && item.getMyTagValue() == null) {
+        if (MergeDecisionType.KEEP_MINE == item.getMergeDecision() && item.getMyTagValue() == null) {
             setText(tr("<undefined>"));
             setToolTipText(tr("The merged dataset will not include a tag with key {0}", item.getKey()));
-        } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision()) && item.getTheirTagValue() == null) {
+        } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision() && item.getTheirTagValue() == null) {
             setText(tr("<undefined>"));
             setToolTipText(tr("The merged dataset will not include a tag with key {0}", item.getKey()));
-        } else if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
             setText("");
         } else {
@@ -47,17 +47,17 @@
     protected void renderValue(TagMergeItem item, boolean isSelected) {
         setBackgroundColor(item, isSelected);
-        if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision()) && item.getMyTagValue() == null) {
+        if (MergeDecisionType.KEEP_MINE == item.getMergeDecision() && item.getMyTagValue() == null) {
             setText(tr("<undefined>"));
             setToolTipText(tr("The merged dataset will not include a tag with key {0}", item.getKey()));
-        } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision()) && item.getTheirTagValue() == null) {
+        } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision() && item.getTheirTagValue() == null) {
             setText(tr("<undefined>"));
             setToolTipText(tr("The merged dataset will not include a tag with key {0}", item.getKey()));
-        } else if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
             setText("");
         } else {
-            if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision())) {
+            if (MergeDecisionType.KEEP_MINE == item.getMergeDecision()) {
                 setText(item.getMyTagValue());
                 setToolTipText(item.getMyTagValue());
-            } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision())) {
+            } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision()) {
                 setText(item.getTheirTagValue());
                 setToolTipText(item.getTheirTagValue());
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java	(revision 14214)
@@ -19,9 +19,9 @@
             return;
         }
-        if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision())) {
+        if (MergeDecisionType.KEEP_MINE == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_KEEP.get());
-        } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_DROP.get());
-        } else if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_UNDECIDED.get());
         }
@@ -29,9 +29,9 @@
 
     protected void setTextColor(TagMergeItem item) {
-        if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision())) {
+        if (MergeDecisionType.KEEP_MINE == item.getMergeDecision()) {
             setForeground(ConflictColors.FGCOLOR_KEEP.get());
-        } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision()) {
             setForeground(ConflictColors.FGCOLOR_DROP.get());
-        } else if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
             setForeground(ConflictColors.FGCOLOR_UNDECIDED.get());
         }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java	(revision 14214)
@@ -87,5 +87,5 @@
         int newValue = 0;
         for (TagMergeItem item: tagMergeItems) {
-            if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+            if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
                 newValue++;
             }
@@ -94,5 +94,4 @@
         numUndecidedTags = newValue;
         fireNumUndecidedTagsChanged(oldValue, numUndecidedTags);
-
     }
 
@@ -196,5 +195,5 @@
     public boolean isResolvedCompletely() {
         for (TagMergeItem item: tagMergeItems) {
-            if (item.getMergeDecision().equals(MergeDecisionType.UNDECIDED))
+            if (item.getMergeDecision() == MergeDecisionType.UNDECIDED)
                 return false;
         }
@@ -204,5 +203,5 @@
     public void decideRemaining(MergeDecisionType decision) {
         for (TagMergeItem item: tagMergeItems) {
-            if (item.getMergeDecision().equals(MergeDecisionType.UNDECIDED))
+            if (item.getMergeDecision() == MergeDecisionType.UNDECIDED)
                 item.decide(decision);
         }
@@ -212,5 +211,5 @@
         int n = 0;
         for (TagMergeItem item: tagMergeItems) {
-            if (!item.getMergeDecision().equals(MergeDecisionType.UNDECIDED)) {
+            if (item.getMergeDecision() != MergeDecisionType.UNDECIDED) {
                 n++;
             }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TheirTableCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TheirTableCellRenderer.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TheirTableCellRenderer.java	(revision 14214)
@@ -19,9 +19,9 @@
             return;
         }
-        if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision())) {
+        if (MergeDecisionType.KEEP_MINE == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_DROP.get());
-        } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_KEEP.get());
-        } else if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
             setBackground(ConflictColors.BGCOLOR_UNDECIDED.get());
         }
@@ -29,9 +29,9 @@
 
     protected void setTextColor(TagMergeItem item) {
-        if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision())) {
+        if (MergeDecisionType.KEEP_MINE == item.getMergeDecision()) {
             setForeground(ConflictColors.FGCOLOR_DROP.get());
-        } else if (MergeDecisionType.KEEP_THEIR.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.KEEP_THEIR == item.getMergeDecision()) {
             setForeground(ConflictColors.FGCOLOR_KEEP.get());
-        } else if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) {
+        } else if (MergeDecisionType.UNDECIDED == item.getMergeDecision()) {
             setForeground(ConflictColors.FGCOLOR_UNDECIDED.get());
         }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java	(revision 14214)
@@ -216,5 +216,5 @@
      */
     public boolean isDecided() {
-        return !type.equals(MultiValueDecisionType.UNDECIDED);
+        return type != MultiValueDecisionType.UNDECIDED;
     }
 
@@ -240,5 +240,5 @@
             throw new IllegalStateException(tr("Not decided yet"));
         String key = tags.getKeys().iterator().next();
-        if (type.equals(MultiValueDecisionType.KEEP_NONE)) {
+        if (type == MultiValueDecisionType.KEEP_NONE) {
             primitive.remove(key);
         } else {
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 14214)
@@ -300,5 +300,5 @@
             if (mode == null) {
                 setEnabled(false);
-            } else if (mode.equals(Mode.RESOLVING_ONE_TAGCOLLECTION_ONLY)) {
+            } else if (mode == Mode.RESOLVING_ONE_TAGCOLLECTION_ONLY) {
                 setEnabled(model.isResolvedCompletely());
             } else {
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java	(revision 14214)
@@ -66,5 +66,5 @@
 
     public boolean isDecided() {
-        return !UNDECIDED.equals(decision);
+        return UNDECIDED != decision;
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java	(revision 14214)
@@ -77,5 +77,5 @@
         }
         RelationMemberConflictDecisionType.prepareLabel(decision, this);
-        if (RelationMemberConflictDecisionType.UNDECIDED.equals(decision)) {
+        if (RelationMemberConflictDecisionType.UNDECIDED == decision) {
             setFont(getFont().deriveFont(Font.ITALIC));
         }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableModel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableModel.java	(revision 14214)
@@ -95,5 +95,5 @@
     protected void sort() {
         data.sort((c1, c2) -> {
-                if (c1.getModificationType().equals(c2.getModificationType())) {
+                if (c1.getModificationType() == c2.getModificationType()) {
                     long id1 = c1.getPrimitive().getId();
                     long id2 = c2.getPrimitive().getId();
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/BasicChangesetQueryPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/BasicChangesetQueryPanel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/BasicChangesetQueryPanel.java	(revision 14214)
@@ -224,5 +224,5 @@
         rbQueries.get(q).setSelected(true);
         boolean mineOnly = Config.getPref().getBoolean("changeset-query.basic.my-changesets-only", false);
-        mineOnly = mineOnly || q.equals(BasicQuery.MY_OPEN_CHANGESETS);
+        mineOnly = mineOnly || q == BasicQuery.MY_OPEN_CHANGESETS;
         cbMyChangesetsOnly.setSelected(mineOnly);
     }
@@ -280,5 +280,5 @@
             BasicQuery q = getSelectedQuery();
             if (q == null) return;
-            if (q.equals(BasicQuery.MY_OPEN_CHANGESETS)) {
+            if (q == BasicQuery.MY_OPEN_CHANGESETS) {
                 cbMyChangesetsOnly.setSelected(true);
                 cbMyChangesetsOnly.setEnabled(false);
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java	(revision 14214)
@@ -237,9 +237,9 @@
             Way way = (Way) getMemberTableModel().getReferredPrimitive(getSelectedRows()[0]);
             if (!connectionType.linkPrev) {
-                getLayer().data.setSelected(WayConnectionType.Direction.FORWARD.equals(connectionType.direction)
+                getLayer().data.setSelected(WayConnectionType.Direction.FORWARD == connectionType.direction
                         ? way.firstNode() : way.lastNode());
                 AutoScaleAction.autoScale("selection");
             } else if (!connectionType.linkNext) {
-                getLayer().data.setSelected(WayConnectionType.Direction.FORWARD.equals(connectionType.direction)
+                getLayer().data.setSelected(WayConnectionType.Direction.FORWARD == connectionType.direction
                         ? way.lastNode() : way.firstNode());
                 AutoScaleAction.autoScale("selection");
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java	(revision 14214)
@@ -109,5 +109,5 @@
         return relation != null && !relation.isNew()
                 && !relation.getDataSet().isLocked()
-                && !DownloadPolicy.BLOCKED.equals(relation.getDataSet().getDownloadPolicy());
+                && DownloadPolicy.BLOCKED != relation.getDataSet().getDownloadPolicy();
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AbstractRelationEditorAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AbstractRelationEditorAction.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AbstractRelationEditorAction.java	(revision 14214)
@@ -94,5 +94,5 @@
         DataSet ds = editorAccess.getEditor().getRelation().getDataSet();
         return !NetworkManager.isOffline(OnlineResource.OSM_API) && ds != null && !ds.isLocked()
-                && !DownloadPolicy.BLOCKED.equals(ds.getDownloadPolicy());
+                && DownloadPolicy.BLOCKED != ds.getDownloadPolicy();
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/history/CoordinateInfoViewer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/CoordinateInfoViewer.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/history/CoordinateInfoViewer.java	(revision 14214)
@@ -295,5 +295,5 @@
         LatLonViewer(HistoryBrowserModel model, PointInTimeType role) {
             this.updater = new Updater(model, role);
-            this.modifiedColor = PointInTimeType.CURRENT_POINT_IN_TIME.equals(role)
+            this.modifiedColor = PointInTimeType.CURRENT_POINT_IN_TIME == role
                     ? TwoColumnDiff.Item.DiffItemType.INSERTED.getColor()
                     : TwoColumnDiff.Item.DiffItemType.DELETED.getColor();
Index: /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowser.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowser.java	(revision 14214)
@@ -120,11 +120,11 @@
         tpViewers.setTitleAt(0, tr("Tags"));
 
-        if (history.getEarliest().getType().equals(OsmPrimitiveType.NODE)) {
+        if (history.getEarliest().getType() == OsmPrimitiveType.NODE) {
             tpViewers.add(coordinateInfoViewer);
             tpViewers.setTitleAt(1, tr("Coordinates"));
-        } else if (history.getEarliest().getType().equals(OsmPrimitiveType.WAY)) {
+        } else if (history.getEarliest().getType() == OsmPrimitiveType.WAY) {
             tpViewers.add(nodeListViewer);
             tpViewers.setTitleAt(1, tr("Nodes"));
-        } else if (history.getEarliest().getType().equals(OsmPrimitiveType.RELATION)) {
+        } else if (history.getEarliest().getType() == OsmPrimitiveType.RELATION) {
             tpViewers.add(relationMemberListViewer);
             tpViewers.setTitleAt(1, tr("Members"));
Index: /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 14214)
@@ -245,5 +245,5 @@
     public TagTableModel getTagTableModel(PointInTimeType pointInTimeType) {
         CheckParameterUtil.ensureParameterNotNull(pointInTimeType, "pointInTimeType");
-        if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
+        if (pointInTimeType == PointInTimeType.CURRENT_POINT_IN_TIME)
             return currentTagTableModel;
         else // REFERENCE_POINT_IN_TIME
@@ -260,5 +260,5 @@
     public DiffTableModel getNodeListTableModel(PointInTimeType pointInTimeType) {
         CheckParameterUtil.ensureParameterNotNull(pointInTimeType, "pointInTimeType");
-        if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
+        if (pointInTimeType == PointInTimeType.CURRENT_POINT_IN_TIME)
             return currentNodeListTableModel;
         else // REFERENCE_POINT_IN_TIME
@@ -275,5 +275,5 @@
     public DiffTableModel getRelationMemberTableModel(PointInTimeType pointInTimeType) {
         CheckParameterUtil.ensureParameterNotNull(pointInTimeType, "pointInTimeType");
-        if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
+        if (pointInTimeType == PointInTimeType.CURRENT_POINT_IN_TIME)
             return currentRelationMemberTableModel;
         else // REFERENCE_POINT_IN_TIME
@@ -367,7 +367,7 @@
     public HistoryOsmPrimitive getPointInTime(PointInTimeType type) {
         CheckParameterUtil.ensureParameterNotNull(type, "type");
-        if (type.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
+        if (type == PointInTimeType.CURRENT_POINT_IN_TIME)
             return current;
-        else if (type.equals(PointInTimeType.REFERENCE_POINT_IN_TIME))
+        else if (type == PointInTimeType.REFERENCE_POINT_IN_TIME)
             return reference;
 
Index: /trunk/src/org/openstreetmap/josm/gui/history/PointInTimeType.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/PointInTimeType.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/history/PointInTimeType.java	(revision 14214)
@@ -19,5 +19,5 @@
      */
     public PointInTimeType opposite() {
-        if (this.equals(REFERENCE_POINT_IN_TIME))
+        if (this == REFERENCE_POINT_IN_TIME)
             return CURRENT_POINT_IN_TIME;
         else
Index: /trunk/src/org/openstreetmap/josm/gui/history/TagTableModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/TagTableModel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/history/TagTableModel.java	(revision 14214)
@@ -129,5 +129,5 @@
      */
     public boolean isCurrentPointInTime() {
-        return pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME);
+        return pointInTimeType == PointInTimeType.CURRENT_POINT_IN_TIME;
     }
 
@@ -137,5 +137,5 @@
      */
     public boolean isReferencePointInTime() {
-        return pointInTimeType.equals(PointInTimeType.REFERENCE_POINT_IN_TIME);
+        return pointInTimeType == PointInTimeType.REFERENCE_POINT_IN_TIME;
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/io/CredentialDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/CredentialDialog.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/io/CredentialDialog.java	(revision 14214)
@@ -89,5 +89,5 @@
         GuiHelper.runInEDTAndWait(() -> {
             CredentialDialog dialog;
-            if (requestorType.equals(RequestorType.PROXY))
+            if (requestorType == RequestorType.PROXY)
                 dialog = getHttpProxyCredentialDialog(
                         username, password, host, agent.getSaveUsernameAndPasswordCheckboxText());
Index: /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersModel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersModel.java	(revision 14214)
@@ -213,7 +213,7 @@
     public boolean hasUnsavedData() {
         for (SaveLayerInfo info: layerInfo) {
-            if (info.isDoUploadToServer() && !UploadOrSaveState.OK.equals(info.getUploadState()))
+            if (info.isDoUploadToServer() && UploadOrSaveState.OK != info.getUploadState())
                 return true;
-            if (info.isDoSaveToFile() && !UploadOrSaveState.OK.equals(info.getSaveState()))
+            if (info.isDoSaveToFile() && UploadOrSaveState.OK != info.getSaveState())
                 return true;
         }
@@ -224,6 +224,6 @@
         int ret = 0;
         for (SaveLayerInfo info: layerInfo) {
-            if (UploadOrSaveState.CANCELED.equals(info.getSaveState())
-                    || UploadOrSaveState.CANCELED.equals(info.getUploadState())) {
+            if (UploadOrSaveState.CANCELED == info.getSaveState()
+                    || UploadOrSaveState.CANCELED == info.getUploadState()) {
                 ret++;
             }
@@ -235,6 +235,6 @@
         int ret = 0;
         for (SaveLayerInfo info: layerInfo) {
-            if (UploadOrSaveState.FAILED.equals(info.getSaveState())
-                    || UploadOrSaveState.FAILED.equals(info.getUploadState())) {
+            if (UploadOrSaveState.FAILED == info.getSaveState()
+                    || UploadOrSaveState.FAILED == info.getUploadState()) {
                 ret++;
             }
Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadAndSaveProgressRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadAndSaveProgressRenderer.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadAndSaveProgressRenderer.java	(revision 14214)
@@ -86,5 +86,5 @@
     public void propertyChange(PropertyChangeEvent evt) {
         if (evt.getPropertyName().equals(SaveLayersModel.MODE_PROP)) {
-            setVisible(Mode.UPLOADING_AND_SAVING.equals(evt.getNewValue()));
+            setVisible(Mode.UPLOADING_AND_SAVING == evt.getNewValue());
         }
         getParent().validate();
Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 14214)
@@ -559,5 +559,5 @@
 
             UploadStrategySpecification strategy = dialog.getUploadStrategySpecification();
-            if (strategy.getStrategy().equals(UploadStrategy.CHUNKED_DATASET_STRATEGY)
+            if (strategy.getStrategy() == UploadStrategy.CHUNKED_DATASET_STRATEGY
                     && strategy.getChunkSize() == UploadStrategySpecification.UNSPECIFIED_CHUNK_SIZE) {
                 warnIllegalChunkSize();
Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java	(revision 14214)
@@ -73,5 +73,5 @@
     protected OsmPrimitive getPrimitive(OsmPrimitiveType type, long id) {
         for (OsmPrimitive p: toUpload) {
-            if (OsmPrimitiveType.from(p).equals(type) && p.getId() == id)
+            if (OsmPrimitiveType.from(p) == type && p.getId() == id)
                 return p;
         }
Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 14214)
@@ -161,5 +161,5 @@
             return false;
         }
-        if (strategy.getPolicy() == null || strategy.getPolicy().equals(MaxChangesetSizeExceededPolicy.ABORT)) {
+        if (strategy.getPolicy() == null || strategy.getPolicy() == MaxChangesetSizeExceededPolicy.ABORT) {
             strategy.setPolicy(askMaxChangesetSizeExceedsPolicy());
         }
@@ -355,5 +355,5 @@
             if (lastException instanceof ChangesetClosedException) {
                 ChangesetClosedException e = (ChangesetClosedException) lastException;
-                if (e.getSource().equals(ChangesetClosedException.Source.UPDATE_CHANGESET)) {
+                if (e.getSource() == ChangesetClosedException.Source.UPDATE_CHANGESET) {
                     handleFailedUpload(lastException);
                     return;
@@ -362,5 +362,5 @@
                     /* do nothing if unknown policy */
                     return;
-                if (e.getSource().equals(ChangesetClosedException.Source.UPLOAD_DATA)) {
+                if (e.getSource() == ChangesetClosedException.Source.UPLOAD_DATA) {
                     switch(strategy.getPolicy()) {
                     case ABORT:
Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 14214)
@@ -256,5 +256,5 @@
         rbStrategy.get(strategy.getStrategy()).setSelected(true);
         tfChunkSize.setEnabled(strategy.getStrategy() == UploadStrategy.CHUNKED_DATASET_STRATEGY);
-        if (strategy.getStrategy().equals(UploadStrategy.CHUNKED_DATASET_STRATEGY)) {
+        if (strategy.getStrategy() == UploadStrategy.CHUNKED_DATASET_STRATEGY) {
             if (strategy.getChunkSize() != UploadStrategySpecification.UNSPECIFIED_CHUNK_SIZE) {
                 tfChunkSize.setText(Integer.toString(strategy.getChunkSize()));
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/Environment.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/Environment.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/Environment.java	(revision 14214)
@@ -230,5 +230,5 @@
      */
     public boolean isLinkContext() {
-        return Context.LINK.equals(context);
+        return Context.LINK == context;
     }
 
@@ -256,5 +256,5 @@
      */
     public String getRole() {
-        if (getContext().equals(Context.PRIMITIVE))
+        if (getContext() == Context.PRIMITIVE)
             return null;
 
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java	(revision 14214)
@@ -64,5 +64,5 @@
                 }
             }
-            if (!considerValAsKey && op.equals(Op.EQ))
+            if (!considerValAsKey && op == Op.EQ)
                 return new SimpleKeyValueCondition(k, v);
             return new KeyValueCondition(k, v, op, considerValAsKey);
@@ -362,7 +362,7 @@
         @Override
         public boolean applies(Environment env) {
-            if (Op.REGEX.equals(op)) {
+            if (Op.REGEX == op) {
                 return matches(env);
-            } else if (Op.NREGEX.equals(op)) {
+            } else if (Op.NREGEX == op) {
                 return !matches(env);
             } else {
@@ -527,5 +527,5 @@
             this.negateResult = negateResult;
             this.matchType = matchType == null ? KeyMatchType.EQ : matchType;
-            this.containsPattern = KeyMatchType.REGEX.equals(matchType)
+            this.containsPattern = KeyMatchType.REGEX == matchType
                     ? Pattern.compile(label).asPredicate()
                     : null;
@@ -565,5 +565,5 @@
         public Tag asTag(OsmPrimitive p) {
             String key = label;
-            if (KeyMatchType.REGEX.equals(matchType)) {
+            if (KeyMatchType.REGEX == matchType) {
                 key = p.keySet().stream().filter(containsPattern).findAny().orElse(key);
             }
@@ -801,5 +801,5 @@
          */
         public static PseudoClassCondition createPseudoClassCondition(String id, boolean not, Context context) {
-            CheckParameterUtil.ensureThat(!"sameTags".equals(id) || Context.LINK.equals(context), "sameTags only supported in LINK context");
+            CheckParameterUtil.ensureThat(!"sameTags".equals(id) || Context.LINK == context, "sameTags only supported in LINK context");
             if ("open_end".equals(id)) {
                 return new OpenEndPseudoClassCondition(not);
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 14214)
@@ -317,5 +317,5 @@
                 return false;
 
-            if (ChildOrParentSelectorType.ELEMENT_OF.equals(type)) {
+            if (ChildOrParentSelectorType.ELEMENT_OF == type) {
 
                 if (e.osm instanceof INode || e.osm.getDataSet() == null) {
@@ -364,5 +364,5 @@
                 return e.child != null;
 
-            } else if (ChildOrParentSelectorType.CROSSING.equals(type) && e.osm instanceof IWay) {
+            } else if (ChildOrParentSelectorType.CROSSING == type && e.osm instanceof IWay) {
                 e.parent = e.osm;
                 final CrossingFinder crossingFinder = new CrossingFinder(e);
@@ -372,5 +372,5 @@
                 }
                 return e.child != null;
-            } else if (ChildOrParentSelectorType.SIBLING.equals(type)) {
+            } else if (ChildOrParentSelectorType.SIBLING == type) {
                 if (e.osm instanceof INode) {
                     for (IPrimitive ref : e.osm.getReferrers(true)) {
@@ -392,5 +392,5 @@
                     }
                 }
-            } else if (ChildOrParentSelectorType.CHILD.equals(type)
+            } else if (ChildOrParentSelectorType.CHILD == type
                     && link.conds != null && !link.conds.isEmpty()
                     && link.conds.get(0) instanceof OpenEndPseudoClassCondition) {
@@ -399,10 +399,10 @@
                     return e.parent != null;
                 }
-            } else if (ChildOrParentSelectorType.CHILD.equals(type)) {
+            } else if (ChildOrParentSelectorType.CHILD == type) {
                 MatchingReferrerFinder collector = new MatchingReferrerFinder(e);
                 e.osm.visitReferrers(collector);
                 if (e.parent != null)
                     return true;
-            } else if (ChildOrParentSelectorType.PARENT.equals(type)) {
+            } else if (ChildOrParentSelectorType.PARENT == type) {
                 if (e.osm instanceof IWay) {
                     List<? extends INode> wayNodes = ((IWay<?>) e.osm).getNodes();
@@ -451,5 +451,5 @@
         @Override
         public String toString() {
-            return left.toString() + ' ' + (ChildOrParentSelectorType.PARENT.equals(type) ? '<' : '>') + link + ' ' + right;
+            return left.toString() + ' ' + (ChildOrParentSelectorType.PARENT == type ? '<' : '>') + link + ' ' + right;
         }
     }
@@ -619,9 +619,9 @@
             if ("*".equals(base)) {
                 return true;
-            } else if (OsmPrimitiveType.NODE.equals(type)) {
+            } else if (OsmPrimitiveType.NODE == type) {
                 return "node".equals(base);
-            } else if (OsmPrimitiveType.WAY.equals(type)) {
+            } else if (OsmPrimitiveType.WAY == type) {
                 return "way".equals(base) || "area".equals(base);
-            } else if (OsmPrimitiveType.RELATION.equals(type)) {
+            } else if (OsmPrimitiveType.RELATION == type) {
                 return "area".equals(base) || "relation".equals(base) || "canvas".equals(base);
             }
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 14214)
@@ -143,5 +143,5 @@
 
         this.sourceType = sourceType;
-        this.canEnable = sourceType.equals(SourceType.MAP_PAINT_STYLE) || sourceType.equals(SourceType.TAGCHECKER_RULE);
+        this.canEnable = sourceType == SourceType.MAP_PAINT_STYLE || sourceType == SourceType.TAGCHECKER_RULE;
 
         DefaultListSelectionModel selectionModel = new DefaultListSelectionModel();
@@ -211,5 +211,5 @@
         MoveUpDownAction moveUp = null;
         MoveUpDownAction moveDown = null;
-        if (sourceType.equals(SourceType.MAP_PAINT_STYLE)) {
+        if (sourceType == SourceType.MAP_PAINT_STYLE) {
             moveUp = new MoveUpDownAction(false);
             moveDown = new MoveUpDownAction(true);
@@ -288,5 +288,5 @@
         sideButtonTB.add(removeActiveSourcesAction);
         sideButtonTB.addSeparator(new Dimension(12, 30));
-        if (sourceType.equals(SourceType.MAP_PAINT_STYLE)) {
+        if (sourceType == SourceType.MAP_PAINT_STYLE) {
             sideButtonTB.add(moveUp);
             sideButtonTB.add(moveDown);
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java	(revision 14214)
@@ -272,5 +272,5 @@
         tfProxySocksPort.setText(Config.getPref().get(DefaultProxySelector.PROXY_SOCKS_PORT, ""));
 
-        if (pp.equals(ProxyPolicy.USE_SYSTEM_SETTINGS) && !DefaultProxySelector.willJvmRetrieveSystemProxies()) {
+        if (pp == ProxyPolicy.USE_SYSTEM_SETTINGS && !DefaultProxySelector.willJvmRetrieveSystemProxies()) {
             Logging.warn(tr("JOSM is configured to use proxies from the system setting, but the JVM is not configured to retrieve them. " +
                          "Resetting preferences to ''No proxy''"));
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 14214)
@@ -74,5 +74,5 @@
 
         final List<QuadStateCheckBox.State> allowedStates = new ArrayList<>(4);
-        if (QuadStateCheckBox.State.PARTIAL.equals(initialState))
+        if (QuadStateCheckBox.State.PARTIAL == initialState)
             allowedStates.add(QuadStateCheckBox.State.PARTIAL);
         allowedStates.add(QuadStateCheckBox.State.SELECTED);
Index: /trunk/src/org/openstreetmap/josm/io/AbstractParser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/AbstractParser.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/AbstractParser.java	(revision 14214)
@@ -129,5 +129,5 @@
         Date timestamp = DateUtils.fromString(v);
         HistoryOsmPrimitive primitive = null;
-        if (type.equals(OsmPrimitiveType.NODE)) {
+        if (type == OsmPrimitiveType.NODE) {
             Double lat = getAttributeDouble(atts, "lat");
             Double lon = getAttributeDouble(atts, "lon");
@@ -135,7 +135,7 @@
             primitive = new HistoryNode(id, version, visible, user, changesetId, timestamp, coor, changeset != null);
 
-        } else if (type.equals(OsmPrimitiveType.WAY)) {
+        } else if (type == OsmPrimitiveType.WAY) {
             primitive = new HistoryWay(id, version, visible, user, changesetId, timestamp, changeset != null);
-        } else if (type.equals(OsmPrimitiveType.RELATION)) {
+        } else if (type == OsmPrimitiveType.RELATION) {
             primitive = new HistoryRelation(id, version, visible, user, changesetId, timestamp, changeset != null);
         }
Index: /trunk/src/org/openstreetmap/josm/io/DefaultProxySelector.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/DefaultProxySelector.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/DefaultProxySelector.java	(revision 14214)
@@ -141,5 +141,5 @@
         int port = parseProxyPortValue(PROXY_HTTP_PORT, Config.getPref().get(PROXY_HTTP_PORT, null));
         httpProxySocketAddress = null;
-        if (proxyPolicy.equals(ProxyPolicy.USE_HTTP_PROXY)) {
+        if (proxyPolicy == ProxyPolicy.USE_HTTP_PROXY) {
             if (host != null && !host.trim().isEmpty() && port > 0) {
                 httpProxySocketAddress = new InetSocketAddress(host, port);
@@ -153,5 +153,5 @@
         port = parseProxyPortValue(PROXY_SOCKS_PORT, Config.getPref().get(PROXY_SOCKS_PORT, null));
         socksProxySocketAddress = null;
-        if (proxyPolicy.equals(ProxyPolicy.USE_SOCKS_PROXY)) {
+        if (proxyPolicy == ProxyPolicy.USE_SOCKS_PROXY) {
             if (host != null && !host.trim().isEmpty() && port > 0) {
                 socksProxySocketAddress = new InetSocketAddress(host, port);
Index: /trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 14214)
@@ -194,5 +194,5 @@
         for (RelationMember member : !recursesDown() ? relation.getMembers() : Collections.<RelationMember>emptyList()) {
             // avoid infinite recursion in case of cyclic dependencies in relations
-            if (OsmPrimitiveType.from(member.getMember()).equals(OsmPrimitiveType.RELATION)
+            if (OsmPrimitiveType.from(member.getMember()) == OsmPrimitiveType.RELATION
                     && relations.contains(member.getMember().getId())) {
                 continue;
Index: /trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java	(revision 14214)
@@ -191,5 +191,5 @@
         try {
             Collection<Way> waysToCheck = new ArrayList<>(ds.getWays());
-            if (isReadFull() || primitiveType.equals(OsmPrimitiveType.NODE)) {
+            if (isReadFull() || primitiveType == OsmPrimitiveType.NODE) {
                 for (Way way: waysToCheck) {
                     if (!way.isNew() && way.hasIncompleteNodes()) {
@@ -234,5 +234,5 @@
             progressMonitor.beginTask(null, 3);
             DataSet ret = new DataSet();
-            if (primitiveType.equals(OsmPrimitiveType.NODE)) {
+            if (primitiveType == OsmPrimitiveType.NODE) {
                 DataSet ds = getReferringWays(progressMonitor.createSubTaskMonitor(1, false));
                 DataSetMerger visitor = new DataSetMerger(ret, ds);
Index: /trunk/src/org/openstreetmap/josm/io/OsmServerObjectReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmServerObjectReader.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/OsmServerObjectReader.java	(revision 14214)
@@ -121,5 +121,5 @@
               .append('/')
               .append(id.getUniqueId());
-            if (full && !id.getType().equals(OsmPrimitiveType.NODE)) {
+            if (full && id.getType() != OsmPrimitiveType.NODE) {
                 sb.append("/full");
             } else if (version > 0) {
Index: /trunk/src/org/openstreetmap/josm/io/OsmWriter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 14214)
@@ -180,5 +180,5 @@
      */
     public void writeContent(DataSet ds) {
-        setWithVisible(UploadPolicy.NORMAL.equals(ds.getUploadPolicy()));
+        setWithVisible(UploadPolicy.NORMAL == ds.getUploadPolicy());
         writeNodes(ds.getNodes());
         writeWays(ds.getWays());
Index: /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java	(revision 14214)
@@ -292,5 +292,5 @@
     static SearchResult searchName(List<SearchResult> results) {
         return results.stream().filter(
-                x -> !OsmPrimitiveType.NODE.equals(x.getOsmId().getType())).iterator().next();
+                x -> OsmPrimitiveType.NODE != x.getOsmId().getType()).iterator().next();
     }
 
Index: /trunk/src/org/openstreetmap/josm/io/auth/DefaultAuthenticator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/auth/DefaultAuthenticator.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/auth/DefaultAuthenticator.java	(revision 14214)
@@ -44,5 +44,5 @@
             if (OsmApi.isUsingOAuth()
                     && Objects.equals(OsmApi.getOsmApi().getHost(), getRequestingHost())
-                    && RequestorType.SERVER.equals(getRequestorType())) {
+                    && RequestorType.SERVER == getRequestorType()) {
                 // if we are working with OAuth we don't prompt for a password
                 return null;
@@ -55,5 +55,5 @@
                 return null;
             }
-            if (RequestorType.PROXY.equals(getRequestorType())) {
+            if (RequestorType.PROXY == getRequestorType()) {
                 // Query user in case this authenticator is called (indicating that the authentication failed) the next time.
                 failedCredentials.add(hostTypePair);
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java	(revision 14214)
@@ -50,5 +50,5 @@
     protected static ImageryInfo findBingEntry() {
         for (ImageryInfo i : ImageryLayerInfo.instance.getDefaultLayers()) {
-            if (ImageryType.BING.equals(i.getImageryType())) {
+            if (ImageryType.BING == i.getImageryType()) {
                 return i;
             }
Index: /trunk/src/org/openstreetmap/josm/tools/HttpClient.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 14214)
@@ -314,5 +314,5 @@
                 compression = Compression.forContentType(contentType);
             }
-            if (uncompressAccordingToContentDisposition && Compression.NONE.equals(compression)) {
+            if (uncompressAccordingToContentDisposition && Compression.NONE == compression) {
                 final String contentDisposition = getHeaderField("Content-Disposition");
                 final Matcher matcher = Pattern.compile("filename=\"([^\"]+)\"").matcher(
Index: /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 14213)
+++ /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 14214)
@@ -1536,5 +1536,5 @@
 
         // Check if the presets have icons for nodes/relations.
-        if (!OsmPrimitiveType.WAY.equals(primitive.getType())) {
+        if (OsmPrimitiveType.WAY != primitive.getType()) {
             final Collection<TaggingPreset> presets = new TreeSet<>((o1, o2) -> {
                 final int o1TypesSize = o1.types == null || o1.types.isEmpty() ? Integer.MAX_VALUE : o1.types.size();
