I stumbled across the source of AtomicInteger and realized that
AtomicInteger
new AtomicInteger(0).equals(new AtomicInteger(0))
evaluates to
Imagine if equals was overriden and you put it in a HashMap and then you change the value. Bad things will happen:)
equals
HashMap