Just to nitpick there is an edge case that does not respect the equality exception
hi deepak...
i just clicked return key accidentally..
now the message is updated....
I jumped at the question too quickly I guess
[EDIT]
Integer i = 10 , not to be confused with Integer i = new Integer(10)