protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); ADRecipient adrecipient = (ADRecipient)base.PrepareDataObject(); if (!adrecipient.EmailAddressPolicyEnabled && adrecipient.PrimarySmtpAddress != adrecipient.OriginalPrimarySmtpAddress && adrecipient.WindowsEmailAddress == adrecipient.OriginalWindowsEmailAddress) { adrecipient.WindowsEmailAddress = adrecipient.PrimarySmtpAddress; } if (this.CreateDTMFMap) { adrecipient.PopulateDtmfMap(true); } if (base.Fields.IsModified(ADRecipientSchema.ArbitrationMailbox)) { if (this.arbitrationMbx != null) { if (!adrecipient.OrganizationId.Equals(this.arbitrationMbx.OrganizationId)) { base.WriteError(new RecipientTaskException(Strings.ErrorArbitrationMbxCrossOrg(this.arbitrationMbx.Identity.ToString())), ExchangeErrorCategory.Client, adrecipient.Identity); } adrecipient.ArbitrationMailbox = this.arbitrationMbx.Id; } else { adrecipient.ArbitrationMailbox = null; } } MultiValuedProperty <string> source; if (!this.isDeletingMailTipTranslations && this.isDeletingDefaultMailTip && adrecipient.TryGetOriginalValue <MultiValuedProperty <string> >(ADRecipientSchema.MailTipTranslations, out source)) { if (source.Any((string translation) => !ADRecipient.IsDefaultTranslation(translation))) { base.WriteError(new RecipientTaskException(Strings.ErrorMailTipRemoveDefaultAndTranslationsExist), ExchangeErrorCategory.Client, null); } } TaskLogger.LogExit(); return(adrecipient); }