/* (non-Javadoc)
  * @see java.lang.Object#equals(java.lang.Object)
  */
 @Override
 public boolean equals(Object obj) {
   if (this == obj) return true;
   if (obj == null) return false;
   if (getClass() != obj.getClass()) return false;
   Externalizable other = (Externalizable) obj;
   try {
     return toKey().equals(other.toKey());
   } catch (UndefinedKeyException e) {
     return false;
   }
 }