private AggregatedUserConfiguration(AggregatedUserConfigurationDescriptor descriptor, IUserConfigurationManager manager)
 {
     using (DisposeGuard disposeGuard = this.Guard())
     {
         this.descriptor = descriptor;
         this.manager    = manager;
         this.Load(out this.aggregatedConfiguration, out this.memento, out this.parts, out this.typeBag);
         this.RemoveOrphanedPendingUpdates();
         disposeGuard.Success();
     }
 }
 public UserConfigurationManager.IAggregationContext AttachAggregator(AggregatedUserConfigurationDescriptor aggregatorDescription)
 {
     UserConfigurationManager.AggregationContext aggregationContext = null;
     if (ConfigurationItemSchema.IsEnabledForConfigurationAggregation(this.mailboxSession.MailboxOwner))
     {
         IAggregatedUserConfigurationReader reader = AggregatedUserConfiguration.GetReader(aggregatorDescription, this);
         aggregationContext = new UserConfigurationManager.AggregationContext(this, reader);
         lock (this.aggregators)
         {
             this.aggregators.Add(aggregationContext);
         }
     }
     return(aggregationContext);
 }