Index: /trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 10659)
+++ /trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 10660)
@@ -1005,6 +1005,5 @@
     /**
      * Add new referrer. If referrer is already included then no action is taken
-     * @param referrer The referrer to add. Must not be null
-     * @throws NullPointerException if {@code referrer} is null
+     * @param referrer The referrer to add
      */
     protected void addReferrer(OsmPrimitive referrer) {
@@ -1012,10 +1011,10 @@
             referrers = referrer;
         } else if (referrers instanceof OsmPrimitive) {
-            if (!referrer.equals(referrers)) {
+            if (referrers != referrer) {
                 referrers = new OsmPrimitive[] {(OsmPrimitive) referrers, referrer};
             }
         } else {
             for (OsmPrimitive primitive:(OsmPrimitive[]) referrers) {
-                if (referrer.equals(primitive))
+                if (primitive == referrer)
                     return;
             }
@@ -1026,10 +1025,9 @@
     /**
      * Remove referrer. No action is taken if referrer is not registered
-     * @param referrer The referrer to remove. Must not be null
-     * @throws NullPointerException if {@code referrer} is null
+     * @param referrer The referrer to remove
      */
     protected void removeReferrer(OsmPrimitive referrer) {
         if (referrers instanceof OsmPrimitive) {
-            if (referrer.equals(referrers)) {
+            if (referrers == referrer) {
                 referrers = null;
             }
@@ -1038,5 +1036,5 @@
             int idx = -1;
             for (int i = 0; i < orig.length; i++) {
-                if (referrer.equals(orig[i])) {
+                if (orig[i] == referrer) {
                     idx = i;
                     break;
