Modified: 
river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/WeakReferenceKey.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/WeakReferenceKey.java?rev=1233702&r1=1233701&r2=1233702&view=diff
==============================================================================
--- 
river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/WeakReferenceKey.java
 (original)
+++ 
river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/WeakReferenceKey.java
 Fri Jan 20 00:26:34 2012
@@ -38,7 +38,7 @@ class WeakReferenceKey<T> extends WeakRe
     WeakReferenceKey(T k, ReferenceQueue<? super T> q) {
         super(k,q);
         int hash = 7;
-        hash = 29 * hash + System.identityHashCode(k);
+        hash = 29 * hash + k.hashCode();
         hash = 29 * hash + k.getClass().hashCode();
         this.hash = hash;
     }
@@ -60,9 +60,14 @@ class WeakReferenceKey<T> extends WeakRe
 
     @Override
     public int hashCode() {
-        Object referent = get();
-        int hash = this.hash;
-        if (referent != null) hash = referent.hashCode();
+        Object k = get();
+        int hash = 7;
+        if (k != null) {
+            hash = 29 * hash + k.hashCode();
+            hash = 29 * hash + k.getClass().hashCode();
+        } else {
+            hash = this.hash;
+        }
         return hash;
     }
     


Reply via email to