public DocumentMetadataManager(
            ICollectionViewGenerator collectionViewGenerator,
            IDocumentMetadataEqualityService metadataEqualityService,
            IDocumentMetadataFactory documentMetadataFactory,
            INormalizedUsageOrderService normalizedUsageOrderService,
            IProjectItemService projectItemService,
            ITimeProvider timeProvider,
            IUpdateReactionManager updateReactionManager,
            IUserPreferences userPreferences)
        {
            _activeDocumentMetadata  = new ObservableCollection <DocumentMetadata>();
            _collectionViewGenerator = collectionViewGenerator;

            ActiveDocumentMetadata = InitializeActiveDocumentMetadata();
            PinnedDocumentMetadata = InitializePinnedDocumentMetadata();

            _metadataEqualityService     = metadataEqualityService;
            _documentMetadataFactory     = documentMetadataFactory;
            _normalizedUsageOrderService = normalizedUsageOrderService;
            _projectItemService          = projectItemService;
            _timeProvider    = timeProvider;
            _userPreferences = userPreferences;

            updateReactionManager.Initialize(ActiveDocumentMetadata);
        }
        public DocumentMetadataManager(
            ICollectionViewGenerator collectionViewGenerator,
            IDocumentMetadataEqualityService documentMetadataEqualityService,
            IDocumentMetadataFactory documentMetadataFactory,
            INormalizedUsageOrderService normalizedUsageOrderService,
            ITimeProvider timeProvider,
            IUpdateReactionManager updateReactionManager,
            IUserPreferences userPreferences)
        {
            _activeDocumentMetadata = new ObservableCollection <DocumentMetadata>();

            ActiveDocumentMetadata = collectionViewGenerator.CreateView(
                _activeDocumentMetadata);

            _documentMetadataEqualityService = documentMetadataEqualityService;
            _documentMetadataFactory         = documentMetadataFactory;
            _normalizedUsageOrderService     = normalizedUsageOrderService;
            _timeProvider    = timeProvider;
            _userPreferences = userPreferences;

            updateReactionManager.Initialize(ActiveDocumentMetadata);
        }