public override bool Equals(object value) { IdentityUserNamePair temp = (IdentityUserNamePair)value; bool result = false; if (null == temp) { // If passed value null - false. result = false; } else if (this == temp) { // If instances equal - true. result = true; } else { if (_identity != null) { if (_identity.Equals(temp._identity)) { result = true; } } else if (_userName == temp._userName) { result = true; } } return(result); }