<p> This class inherits <code>equals(Object)</code> from an abstract
  superclass, and <code>hashCode()</code> from
<code>java.lang.Object</code> (which returns
  the identity hash code, an arbitrary value assigned to the object
  by the VM).&nbsp; Therefore, the class is very likely to violate the
  invariant that equal objects must have equal hashcodes.</p>

  <p>If you don't want to define a hashCode method, and/or don't
   believe the object will ever be put into a HashMap/Hashtable,
   define the <code>hashCode()</code> method
   to throw <code>UnsupportedOperationException</code>.</p>