Is IdentityHashMap class wrong?
<p>I tested with <code>java.util.IdentityHashMap</code>, See</p>

<pre><code>public class IdentityHashMapTest{
    public static void main(String args[]) {
        Map&lt;String, String&gt; m = new IdentityHashMap&lt;String, String&gt;();
        m.put("John", "Doe");
        m.put("John", "Paul");
        System.out.println(m.size());
    }
}
</code></pre>

<p>According to Java API said, </p>

<blockquote>
  <p>This class implements the Map interface with a hash table, using reference-equality in place of object-equality when comparing keys (and values)</p>
</blockquote>

<p>The result may be <code>2</code>. But actual is <code>1</code>. Is IdentityHashMap class wrong? </p>
