protected void SetLinkingProperties(PropertyBagAdaptor propertyBag)
 {
     propertyBag.SetValue(ContactSchema.Linked, this.Linked);
     propertyBag.SetValue(ContactSchema.PersonId, this.PersonId);
     if (this.LinkRejectHistory.Count > 0)
     {
         propertyBag.SetValue(ContactSchema.LinkRejectHistory, ContactInfoForLinking.ToArray <PersonId>(this.LinkRejectHistory));
     }
     else
     {
         propertyBag.DeleteValue(ContactSchema.LinkRejectHistory);
     }
     if (this.GALLinkID != null)
     {
         propertyBag.SetValue(ContactSchema.GALLinkID, this.GALLinkID.Value);
     }
     else
     {
         propertyBag.DeleteValue(ContactSchema.GALLinkID);
     }
     if (this.addressBookEntryId != null)
     {
         propertyBag.SetValue(ContactSchema.AddressBookEntryId, this.addressBookEntryId);
     }
     else
     {
         propertyBag.DeleteValue(ContactSchema.AddressBookEntryId);
     }
     if (this.SmtpAddressCache != null)
     {
         propertyBag.SetValue(ContactSchema.SmtpAddressCache, this.SmtpAddressCache);
     }
     else
     {
         propertyBag.DeleteValue(ContactSchema.SmtpAddressCache);
     }
     propertyBag.SetValue(ContactSchema.GALLinkState, this.GALLinkState);
     propertyBag.SetValue(ContactSchema.UserApprovedLink, this.UserApprovedLink);
 }