Index: trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 10662)
@@ -13,5 +13,4 @@
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
 
@@ -314,9 +313,9 @@
         Node lastNode = null;
         Way lastWay = null;
-        while (!Objects.equals(firstNode, lastNode)) {
+        while (firstNode != lastNode) {
             if (lastNode == null) lastNode = firstNode;
             for (Way way: ways) {
-                if (Objects.equals(way, lastWay)) continue;
-                if (Objects.equals(way.firstNode(), lastNode)) {
+                if (way == lastWay) continue;
+                if (way.firstNode() == lastNode) {
                     List<Node> wayNodes = way.getNodes();
                     for (int i = 0; i < wayNodes.size() - 1; i++) {
@@ -327,5 +326,5 @@
                     break;
                 }
-                if (Objects.equals(way.lastNode(), lastNode)) {
+                if (way.lastNode() == lastNode) {
                     List<Node> wayNodes = way.getNodes();
                     for (int i = wayNodes.size() - 1; i > 0; i--) {
@@ -395,5 +394,5 @@
                 if (way.isFirstLastNode(node)) continue;
                 for (Way wayOther: ways) {
-                    if (Objects.equals(way, wayOther)) continue;
+                    if (way == wayOther) continue;
                     if (node.getReferrers().contains(wayOther)) return false;
                 }
@@ -408,5 +407,5 @@
             for (Way w: ways) {
                 if (w.isClosed()) return ways.size() == 1;
-                if (Objects.equals(w, currentWay)) continue;
+                if (w == currentWay) continue;
                 if (currentWay == null) {
                     nextWay = w;
@@ -415,10 +414,10 @@
                     break;
                 }
-                if (Objects.equals(w.firstNode(), endNode)) {
+                if (w.firstNode() == endNode) {
                     nextWay = w;
                     endNode = w.lastNode();
                     break;
                 }
-                if (Objects.equals(w.lastNode(), endNode)) {
+                if (w.lastNode() == endNode) {
                     nextWay = w;
                     endNode = w.firstNode();
@@ -429,5 +428,5 @@
             used += 1;
             currentWay = nextWay;
-            if (Objects.equals(endNode, startNode)) return used == ways.size();
+            if (endNode == startNode) return used == ways.size();
         }
     }
Index: trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 10662)
@@ -295,9 +295,9 @@
 
         public boolean isSuccessorOf(NodePair other) {
-            return Objects.equals(other.getB(), a);
+            return other.getB() == a;
         }
 
         public boolean isPredecessorOf(NodePair other) {
-            return Objects.equals(b, other.getA());
+            return b == other.getA();
         }
 
@@ -323,5 +323,5 @@
          */
         public boolean contains(Node n) {
-            return Objects.equals(a, n) || Objects.equals(b, n);
+            return a == n || b == n;
         }
 
Index: trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java	(revision 10662)
@@ -14,5 +14,4 @@
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
 
@@ -244,8 +243,8 @@
         } else {
             // Simplify segment
-            if (simplifiedNodes.isEmpty() || !Objects.equals(simplifiedNodes.get(simplifiedNodes.size()-1), fromN)) {
+            if (simplifiedNodes.isEmpty() || simplifiedNodes.get(simplifiedNodes.size()-1) != fromN) {
                 simplifiedNodes.add(fromN);
             }
-            if (!Objects.equals(fromN, toN)) {
+            if (fromN != toN) {
                 simplifiedNodes.add(toN);
             }
Index: trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 10662)
@@ -18,5 +18,4 @@
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -445,5 +444,5 @@
 
         if (wayChunks.size() < 2) {
-            if (Objects.equals(wayChunks.get(0).get(0), wayChunks.get(0).get(wayChunks.get(0).size() - 1))) {
+            if (wayChunks.get(0).get(0) == wayChunks.get(0).get(wayChunks.get(0).size() - 1)) {
                 new Notification(
                         tr("You must select two or more nodes to split a circular way."))
@@ -570,5 +569,5 @@
             List<RelationMember> relationMembers = r.getMembers();
             for (RelationMember rm: relationMembers) {
-                if (rm.isWay() && Objects.equals(rm.getMember(), way)) {
+                if (rm.isWay() && rm.getMember() == way) {
                     boolean insert = true;
                     if ("restriction".equals(type) || "destination_sign".equals(type)) {
@@ -631,7 +630,7 @@
                             if ((ir - k >= 0) && relationMembers.get(ir - k).isWay()) {
                                 Way w = relationMembers.get(ir - k).getWay();
-                                if (Objects.equals(w.lastNode(), way.firstNode()) || Objects.equals(w.firstNode(), way.firstNode())) {
+                                if ((w.lastNode() == way.firstNode()) || w.firstNode() == way.firstNode()) {
                                     backwards = Boolean.FALSE;
-                                } else if (Objects.equals(w.firstNode(), way.lastNode()) || Objects.equals(w.lastNode(), way.lastNode())) {
+                                } else if ((w.firstNode() == way.lastNode()) || w.lastNode() == way.lastNode()) {
                                     backwards = Boolean.TRUE;
                                 }
@@ -640,7 +639,7 @@
                             if ((ir + k < relationMembers.size()) && relationMembers.get(ir + k).isWay()) {
                                 Way w = relationMembers.get(ir + k).getWay();
-                                if (Objects.equals(w.lastNode(), way.firstNode()) || Objects.equals(w.firstNode(), way.firstNode())) {
+                                if ((w.lastNode() == way.firstNode()) || w.firstNode() == way.firstNode()) {
                                     backwards = Boolean.TRUE;
-                                } else if (Objects.equals(w.firstNode(), way.lastNode()) || Objects.equals(w.lastNode(), way.lastNode())) {
+                                } else if ((w.firstNode() == way.lastNode()) || w.lastNode() == way.lastNode()) {
                                     backwards = Boolean.FALSE;
                                 }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 10662)
@@ -28,5 +28,4 @@
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Set;
 
@@ -527,5 +526,5 @@
 
                 // User clicked last node again, finish way
-                if (Objects.equals(n0, n)) {
+                if (n0 == n) {
                     finishDrawing();
                     return;
@@ -576,5 +575,5 @@
 
                 // Add new node to way
-                if (Objects.equals(way.getNode(way.getNodesCount() - 1), n0)) {
+                if (way.getNode(way.getNodesCount() - 1) == n0) {
                     way.addNode(n);
                 } else {
@@ -818,6 +817,7 @@
         }
 
-        if (getCurrentBaseNode() == null || getCurrentBaseNode().equals(currentMouseNode))
+        if (getCurrentBaseNode() == null || getCurrentBaseNode() == currentMouseNode)
             return; // Don't create zero length way segments.
+
 
         double curHdg = Math.toDegrees(getCurrentBaseNode().getEastNorth()
@@ -904,8 +904,8 @@
     private void continueWayFromNode(Way way, Node node) {
         int n = way.getNodesCount();
-        if (Objects.equals(node, way.firstNode())) {
+        if (node == way.firstNode()) {
             currentBaseNode = node;
             if (n > 1) previousNode = way.getNode(1);
-        } else if (Objects.equals(node, way.lastNode())) {
+        } else if (node == way.lastNode()) {
             currentBaseNode = node;
             if (n > 1) previousNode = way.getNode(n-2);
@@ -944,5 +944,5 @@
             Node firstNode = w.getNode(0);
             Node lastNode = w.getNode(w.getNodesCount() - 1);
-            if ((Objects.equals(firstNode, n) || Objects.equals(lastNode, n)) && !Objects.equals(firstNode, lastNode)) {
+            if ((firstNode == n || lastNode == n) && (firstNode != lastNode)) {
                 if (way != null)
                     return null;
Index: trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 10662)
@@ -1033,5 +1033,5 @@
                 if (ref instanceof Relation && !ref.isIncomplete() && !ref.isDeleted()) {
                     for (RelationMember m : ((Relation) ref).getMembers()) {
-                        if (osm.equals(m.getMember())) {
+                        if (m.getMember() == osm) {
                             String testRole = m.getRole();
                             if (role.equals(testRole == null ? "" : testRole))
Index: trunk/src/org/openstreetmap/josm/data/conflict/Conflict.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/conflict/Conflict.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/conflict/Conflict.java	(revision 10662)
@@ -48,9 +48,9 @@
 
     public boolean isMatchingMy(OsmPrimitive my) {
-        return Objects.equals(this.my, my);
+        return this.my == my;
     }
 
     public boolean isMatchingTheir(OsmPrimitive their) {
-        return Objects.equals(this.their, their);
+        return this.their == their;
     }
 
Index: trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 10662)
@@ -334,5 +334,5 @@
      */
     public String getUniqueId(ImageryInfo info) {
-        if (info.getId() != null && info.equals(layerIds.get(info.getId()))) {
+        if (info.getId() != null && layerIds.get(info.getId()) == info) {
             return info.getId();
         }
Index: trunk/src/org/openstreetmap/josm/data/osm/Relation.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 10662)
@@ -9,5 +9,4 @@
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Set;
 
@@ -117,5 +116,5 @@
             RelationMember originalMember = members[index];
             members[index] = member;
-            if (!Objects.equals(originalMember.getMember(), member.getMember())) {
+            if (originalMember.getMember() != member.getMember()) {
                 member.getMember().addReferrer(this);
                 member.getMember().clearCachedStyle();
Index: trunk/src/org/openstreetmap/josm/data/osm/RelationMember.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/RelationMember.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/osm/RelationMember.java	(revision 10662)
@@ -161,5 +161,5 @@
      */
     public boolean refersTo(OsmPrimitive primitive) {
-        return Objects.equals(member, primitive);
+        return member == primitive;
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 10662)
@@ -9,5 +9,4 @@
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Set;
 
@@ -89,5 +88,5 @@
         for (int i = 0; i < count && count > 2;) {
             Node n = nodes.get(i);
-            if (Objects.equals(last, n)) {
+            if (last == n) {
                 nodes.remove(i);
                 --count;
@@ -362,5 +361,5 @@
         boolean locked = writeLock();
         try {
-            boolean closed = Objects.equals(lastNode(), n) && Objects.equals(firstNode(), n);
+            boolean closed = lastNode() == n && firstNode() == n;
             int i;
             List<Node> copy = getNodes();
@@ -371,5 +370,5 @@
             if (closed && i > 2) {
                 copy.add(copy.get(0));
-            } else if (i >= 2 && i <= 3 && Objects.equals(copy.get(0), copy.get(i-1))) {
+            } else if (i >= 2 && i <= 3 && copy.get(0) == copy.get(i-1)) {
                 copy.remove(i-1);
             }
@@ -402,5 +401,5 @@
             if (closed && i > 2) {
                 copy.add(copy.get(0));
-            } else if (i >= 2 && i <= 3 && Objects.equals(copy.get(0), copy.get(i-1))) {
+            } else if (i >= 2 && i <= 3 && copy.get(0) == copy.get(i-1)) {
                 copy.remove(i-1);
             }
@@ -495,5 +494,5 @@
 
         Node[] nodes = this.nodes;
-        return nodes.length >= 3 && Objects.equals(nodes[nodes.length-1], nodes[0]);
+        return nodes.length >= 3 && nodes[nodes.length-1] == nodes[0];
     }
 
@@ -508,7 +507,7 @@
             Node distinctNode = null;
             for (int i = 1; i < nodes.length-1; i++) {
-                if (distinctNode == null && !Objects.equals(nodes[i], nodes[0])) {
+                if (distinctNode == null && nodes[i] != nodes[0]) {
                     distinctNode = nodes[i];
-                } else if (distinctNode != null && !Objects.equals(nodes[i], nodes[0]) && !Objects.equals(nodes[i], distinctNode)) {
+                } else if (distinctNode != null && nodes[i] != nodes[0] && nodes[i] != distinctNode) {
                     return true;
                 }
@@ -551,5 +550,5 @@
         Node[] nodes = this.nodes;
         if (isIncomplete() || nodes.length == 0) return false;
-        return Objects.equals(n, nodes[0]) || Objects.equals(n, nodes[nodes.length -1]);
+        return n == nodes[0] || n == nodes[nodes.length -1];
     }
 
@@ -564,7 +563,7 @@
         if (isIncomplete() || nodes.length <= 2) return false;
         /* circular ways have only inner nodes, so return true for them! */
-        if (Objects.equals(n, nodes[0]) && Objects.equals(n, nodes[nodes.length-1])) return true;
+        if (n == nodes[0] && n == nodes[nodes.length-1]) return true;
         for (int i = 1; i < nodes.length - 1; ++i) {
-            if (Objects.equals(nodes[i], n)) return true;
+            if (nodes[i] == n) return true;
         }
         return false;
Index: trunk/src/org/openstreetmap/josm/data/osm/history/HistoryWay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/HistoryWay.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/HistoryWay.java	(revision 10662)
@@ -8,5 +8,4 @@
 import java.util.Date;
 import java.util.List;
-import java.util.Objects;
 
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
@@ -138,5 +137,5 @@
      */
     public boolean isClosed() {
-        return getNumNodes() >= 3 && Objects.equals(nodeIds.get(0), nodeIds.get(nodeIds.size()-1));
+        return getNumNodes() >= 3 && nodeIds.get(0) == nodeIds.get(nodeIds.size()-1);
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 10662)
@@ -3,5 +3,4 @@
 
 import java.awt.Color;
-import java.util.Objects;
 
 import org.openstreetmap.josm.Main;
@@ -84,5 +83,5 @@
         taggedColor = PaintColors.TAGGED.get();
         connectionColor = PaintColors.CONNECTION.get();
-        if (!Objects.equals(taggedColor, nodeColor)) {
+        if (taggedColor != nodeColor) {
             taggedConnectionColor = taggedColor;
         } else {
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 10662)
@@ -34,5 +34,4 @@
 import java.util.Map;
 import java.util.NoSuchElementException;
-import java.util.Objects;
 import java.util.concurrent.ForkJoinPool;
 import java.util.concurrent.ForkJoinTask;
@@ -1147,5 +1146,5 @@
         /* find the "direct" nodes before the via node */
         Node fromNode;
-        if (Objects.equals(fromWay.firstNode(), via)) {
+        if (fromWay.firstNode() == via) {
             fromNode = fromWay.getNode(1);
         } else {
@@ -1442,5 +1441,5 @@
             GeneralPath highlightSegs = null;
             for (WaySegment ws : highlightWaySegments) {
-                if (!Objects.equals(ws.way, way) || ws.lowerIndex < offset) {
+                if (ws.way != way || ws.lowerIndex < offset) {
                     continue;
                 }
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java	(revision 10662)
@@ -11,5 +11,4 @@
 import java.util.Iterator;
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
 
@@ -299,5 +298,5 @@
                 }
             }
-            if (nodes.size() >= 3 && Objects.equals(nodes.get(0), nodes.get(nodes.size() - 1))) {
+            if (nodes.size() >= 3 && nodes.get(0) == nodes.get(nodes.size() - 1)) {
                 poly.closePath();
             }
@@ -549,22 +548,22 @@
                             if (nodes == null) {
                                 nl = w.getNodesCount()-1;
-                                if (Objects.equals(w.getNode(nl), c.getNode(0))) {
+                                if (w.getNode(nl) == c.getNode(0)) {
                                     mode = 21;
-                                } else if (Objects.equals(w.getNode(nl), c.getNode(cl))) {
+                                } else if (w.getNode(nl) == c.getNode(cl)) {
                                     mode = 22;
-                                } else if (Objects.equals(w.getNode(0), c.getNode(0))) {
+                                } else if (w.getNode(0) == c.getNode(0)) {
                                     mode = 11;
-                                } else if (Objects.equals(w.getNode(0), c.getNode(cl))) {
+                                } else if (w.getNode(0) == c.getNode(cl)) {
                                     mode = 12;
                                 }
                             } else {
                                 nl = nodes.size()-1;
-                                if (Objects.equals(nodes.get(nl), c.getNode(0))) {
+                                if (nodes.get(nl) == c.getNode(0)) {
                                     mode = 21;
-                                } else if (Objects.equals(nodes.get(0), c.getNode(cl))) {
+                                } else if (nodes.get(0) == c.getNode(cl)) {
                                     mode = 12;
-                                } else if (Objects.equals(nodes.get(0), c.getNode(0))) {
+                                } else if (nodes.get(0) == c.getNode(0)) {
                                     mode = 11;
-                                } else if (Objects.equals(nodes.get(nl), c.getNode(cl))) {
+                                } else if (nodes.get(nl) == c.getNode(cl)) {
                                     mode = 22;
                                 }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 10662)
@@ -692,5 +692,5 @@
                     int i = 1;
                     for (RelationMember m : r.getMembers()) {
-                        if (primitive.equals(m.getMember())) {
+                        if (m.getMember() == primitive) {
                             mi.add(m, i);
                         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 10662)
@@ -678,5 +678,5 @@
                 for (int i = 0; i < tagData.getRowCount(); ++i) {
                     if (item.getValue().equals(tagData.getValueAt(i, 0) /* sic! do not use getDataKey*/)) {
-                        if (item.equals(itemToSelect)) {
+                        if (itemToSelect == item) {
                             itemToSelect = null;
                         }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 10662)
@@ -27,5 +27,4 @@
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -660,5 +659,5 @@
             @Override
             public boolean isDataFlavorSupported(DataFlavor flavor) {
-                return Objects.equals(flavors[0], flavor);
+                return flavors[0] == flavor;
             }
         }
Index: trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 10662)
@@ -7,5 +7,4 @@
 import java.io.IOException;
 import java.net.URL;
-import java.util.Objects;
 
 import javax.sound.sampled.AudioFormat;
@@ -298,5 +297,5 @@
                             double offset = command.offset();
                             speed = command.speed();
-                            if (!Objects.equals(playingUrl, command.url()) ||
+                            if (playingUrl != command.url() ||
                                     stateChange != State.PAUSED ||
                                     offset != 0) {
Index: trunk/src/org/openstreetmap/josm/tools/Geometry.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Geometry.java	(revision 10661)
+++ trunk/src/org/openstreetmap/josm/tools/Geometry.java	(revision 10662)
@@ -15,5 +15,4 @@
 import java.util.LinkedHashSet;
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
 
@@ -116,5 +115,5 @@
                         int commonCount = 0;
                         //test if we have common nodes to add.
-                        if (Objects.equals(seg1Node1, seg2Node1) || Objects.equals(seg1Node1, seg2Node2)) {
+                        if (seg1Node1 == seg2Node1 || seg1Node1 == seg2Node2) {
                             commonCount++;
 
@@ -128,5 +127,5 @@
                         }
 
-                        if (Objects.equals(seg1Node2, seg2Node1) || Objects.equals(seg1Node2, seg2Node2)) {
+                        if (seg1Node2 == seg2Node1 || seg1Node2 == seg2Node2) {
                             commonCount++;
 
@@ -190,5 +189,5 @@
                                 intersectionNodes.add(intNode);
 
-                                if (Objects.equals(intNode, newNode)) {
+                                if (intNode == newNode) {
                                     cmds.add(new AddCommand(intNode));
                                 }
@@ -703,5 +702,5 @@
     public static boolean isClockwise(List<Node> nodes) {
         int nodesCount = nodes.size();
-        if (nodesCount < 3 || !Objects.equals(nodes.get(0), nodes.get(nodesCount - 1))) {
+        if (nodesCount < 3 || nodes.get(0) != nodes.get(nodesCount - 1)) {
             throw new IllegalArgumentException("Way must be closed to check orientation.");
         }
@@ -992,5 +991,5 @@
         double perimeter = 0;
         if (!nodes.isEmpty()) {
-            boolean closed = Objects.equals(nodes.get(0), nodes.get(nodes.size() - 1));
+            boolean closed = nodes.get(0) == nodes.get(nodes.size() - 1);
             int numSegments = closed ? nodes.size() - 1 : nodes.size();
             EastNorth p1 = projection == null ? nodes.get(0).getEastNorth() : projection.latlon2eastNorth(nodes.get(0).getCoor());
