protected override void InternalCopyFromModified(IProperty srcProperty)
        {
            ITimeZoneProperty timeZoneProperty = srcProperty as ITimeZoneProperty;

            if (timeZoneProperty == null)
            {
                throw new UnexpectedTypeException("ITimeZoneProperty", srcProperty);
            }
            if (!this.TimeZoneExistsOnItem() || !TimeZoneConverter.IsClientTimeZoneEquivalentToServerTimeZoneRule(timeZoneProperty.TimeZone, this.TimeZone, this.EffectiveTime))
            {
                base.XsoItem[CalendarItemBaseSchema.StartTimeZone] = timeZoneProperty.TimeZone;
                base.XsoItem[CalendarItemBaseSchema.EndTimeZone]   = timeZoneProperty.TimeZone;
                base.XsoItem.Delete(CalendarItemBaseSchema.TimeZoneBlob);
            }
        }