protected override IConfigurable PrepareDataObject()
        {
            TaskLogger.LogEnter();
            ADRecipient adrecipient = (ADRecipient)base.PrepareDataObject();

            if (this.secondaryDialPlan != null)
            {
                IADRecipientLookup iadrecipientLookup = ADRecipientLookupFactory.CreateUmProxyAddressLookup(this.secondaryDialPlan);
                ADRecipient        adrecipient2       = iadrecipientLookup.LookupByExtensionAndEquivalentDialPlan(this.SecondaryAddress, this.secondaryDialPlan);
                if (adrecipient2 != null && adrecipient2.PrimarySmtpAddress != adrecipient.PrimarySmtpAddress)
                {
                    base.WriteError(new TaskArgumentException(DirectoryStrings.ExtensionNotUnique(this.SecondaryAddress, this.secondaryDialPlan.Name)), ExchangeErrorCategory.Client, adrecipient.Identity);
                }
                try
                {
                    adrecipient.AddEUMProxyAddress(this.SecondaryAddress, this.secondaryDialPlan);
                }
                catch (InvalidOperationException ex)
                {
                    base.WriteError(new TaskException(Strings.ErrorStampSecondaryAddress(ex.Message), ex), ExchangeErrorCategory.Client, adrecipient);
                }
            }
            if (this.RemovePicture.IsPresent)
            {
                adrecipient.ThumbnailPhoto = null;
            }
            if (this.RemoveSpokenName.IsPresent)
            {
                adrecipient.UMSpokenName = null;
            }
            TaskLogger.LogExit();
            return(adrecipient);
        }