1 <p> This class has an equals method that will be broken if it is inherited by subclasses.
2 It compares a class literal with the class of the argument (e.g., in class <code>Foo</code>
3 it might check if <code>Foo.class == o.getClass()</code>).
4 It is better to check if <code>this.getClass() == o.getClass()</code>.