private AggregatedUserConfigurationPart(IUserConfiguration config)
 {
     this.memento = new AggregatedUserConfigurationPart.MementoClass
     {
         ConfigurationName = config.ConfigurationName,
         DataTypes         = config.DataTypes,
         FolderId          = config.FolderId,
         Id               = config.Id,
         VersionedId      = config.VersionedId,
         LastModifiedTime = config.LastModifiedTime.ToBinary()
     };
     if ((config.DataTypes & UserConfigurationTypes.Dictionary) != (UserConfigurationTypes)0)
     {
         using (StringWriter stringWriter = new StringWriter())
         {
             using (XmlWriter xmlWriter = AggregatedUserConfigurationPart.InternalGetXmlWriter(stringWriter))
             {
                 config.GetConfigurationDictionary().WriteXml(xmlWriter);
                 xmlWriter.Flush();
                 this.memento.DictionaryXmlString = stringWriter.ToString();
             }
         }
     }
     if ((config.DataTypes & UserConfigurationTypes.XML) != (UserConfigurationTypes)0)
     {
         using (Stream xmlStream = config.GetXmlStream())
         {
             using (StreamReader streamReader = new StreamReader(xmlStream))
             {
                 this.memento.XmlString = streamReader.ReadToEnd();
             }
         }
     }
 }