public override sealed bool Equals( object obj ) { if ( obj == this ) { return true; } if ( obj == null || GetType() != obj.GetType() ) { return false; } return IsEqual( obj ); }