internal PropertyBagSaveFlags GetSaveFlags(bool isTopLevelMessage)
        {
            PropertyBagSaveFlags propertyBagSaveFlags = PropertyBagSaveFlags.Default;
            HeaderPromotionMode  headerPromotionMode  = isTopLevelMessage ? this.HeaderPromotion : HeaderPromotionMode.NoCreate;

            if (headerPromotionMode == HeaderPromotionMode.MayCreate)
            {
                propertyBagSaveFlags |= PropertyBagSaveFlags.IgnoreUnresolvedHeaders;
            }
            else if (headerPromotionMode == HeaderPromotionMode.NoCreate)
            {
                propertyBagSaveFlags |= (PropertyBagSaveFlags.IgnoreUnresolvedHeaders | PropertyBagSaveFlags.DisableNewXHeaderMapping);
            }
            return(propertyBagSaveFlags);
        }
        private void ConvertToItem(TnefReader reader, bool isSummaryTnef)
        {
            if (this.IsReplicationMessage)
            {
                PersistablePropertyBag persistablePropertyBag = CoreObject.GetPersistablePropertyBag(base.MessageWriter.CoreItem);
                if (persistablePropertyBag != null)
                {
                    persistablePropertyBag.Context.IsValidationDisabled = true;
                }
            }
            this.reader                   = reader;
            this.isSummaryTnef            = isSummaryTnef;
            this.isRecipientTablePromoted = false;
            while (this.reader.ReadNextAttribute())
            {
                this.CheckTnefComplianceStatus();
                this.ReadAttribute();
            }
            this.ProcessEndTnef();
            PropertyBagSaveFlags propertyBagSaveFlags = PropertyBagSaveFlags.IgnoreMapiComputedErrors | base.ConversionOptions.GetSaveFlags(base.IsTopLevelMessage);

            CoreObject.GetPersistablePropertyBag(base.CoreItem).SaveFlags |= propertyBagSaveFlags;
        }