public override int GetHashCode() { int hash = 1; if (Id.Length != 0) { hash ^= Id.GetHashCode(); } if (ClassId.Length != 0) { hash ^= ClassId.GetHashCode(); } if (Protocol != global::PKIo.PassProtocol.DoNotUse) { hash ^= Protocol.GetHashCode(); } if (personDetails_ != null) { hash ^= PersonDetails.GetHashCode(); } if (metadata_ != null) { hash ^= Metadata.GetHashCode(); } hash ^= RecordData.GetHashCode(); if (ExternalId.Length != 0) { hash ^= ExternalId.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }