public WorkSpaceViewModel()
        {
            ObjectSources = new ObservableCollection <IObjectSource>();
            ObjectSources.CollectionChanged += (send, e) =>
            {
                PropertyChange(nameof(ObjectSources));
                PropertyChange(nameof(Models));
            };

            Folder folder = new Folder("example", @"C:\dir", null);

            for (int i = 0; i < 1000; i++)
            {
                string fictivePath = $"exmple {i}.fbx";

                folder.AddObject(fictivePath, ObjectModelFactory.GetObject(fictivePath));
            }

            ObjectSources.Add(folder);

            RelayCommand <object>        addDataSourceCommand      = new RelayCommand <object>();
            RelayCommand <IObjectSource> selectObjectSourceCommand = new RelayCommand <IObjectSource>();

            addDataSourceCommand.RegisterCallback(AddDataSource);

            AddDataSourceCommand = addDataSourceCommand;
        }
        private void Accept(object sender, RoutedEventArgs e)
        {
            foreach (var item in viewModel.SourceItems)
            {
                item.CurrentSource.AddObject(item.Path, ObjectModelFactory.GetObject(item.Path));
            }

            DialogResult = true;
            Close();
        }