I was reading as below
Always favor 'instanceof' rather than getClass() in the equals( ) method which takes care of super types, null comparisons.
Make sure to ensure that the equals implementation is final to preserve the symmetry contract of the method: x.equals(y) == y.equals(x).
If final seems restrictive, carefully examine to see if overriding implementations can fully maintain the contract established by the Object class.
I have not understood clearly what it means.
Please advise. Any ideas, resources, sample code highly appreciated. thanks in advance