@Override public boolean equals(Object obj){
  if (obj == this) {
    return true;
  }
  if (obj == null) {
    return false;
  }
  if (!(getClass() == obj.getClass())) {
    return false;
  }
  return super.equals(obj);
}

@ Override public boolean equals ( Object obj ) { if ( obj == this ) { return true ; } if ( obj == null ) { return false ; } if ( ! ( getClass ( ) == obj . getClass ( ) ) ) { return false ; } return super . equals ( obj ) ; }
note : equality consists of the underlying ( superclass ) block implementation being the same .
