[Rule] CA2218: Override GetHashCode on overriding Equals [Description] 
GetHashCode returns a value, based on the current instance, that is suited for hashing algorithms and data structures such as a hash table. Two objects that are the same type and are equal must return the same hash code.