public MainWindow()
        {
            InitializeComponent();

                    DirectoryRelocator = new DirectoryRelocatorViewModel();

                    if (DirectoryRelocator.StoredDirectoryLinks.Count == 0)
                    {
                        DirectoryRelocator.AddStoredDirectoryLink(new DirectoryLink
                        {
                            Name = @"Test Folder",
                            OriginalPath = @"E:\TestFolder\Start Location",
                            BackupPath = @"E:\TestFolder\End Location"
                        });
                        DirectoryRelocator.AddStoredDirectoryLink(new DirectoryLink
                        {
                            Name = @"Games",
                            OriginalPath = @"C:\Games\Steam\SteamApps\common",
                            BackupPath = @"E:\GamesBackup"
                        });
                    }

                    DirectoryRelocator.SelectedDirectoryLink = DirectoryRelocator.StoredDirectoryLinks.FirstOrDefault();

                    DirectoryRelocatorView.Content = DirectoryRelocator;
        }
        private static void UpdateDirectoryList(DirectoryRelocatorViewModel model)
        {
            foreach (var details in model.DirectoryList)
                details.PropertyChanged -= model.OnDirectoryDetailsChanged;

            model.DirectoryList = DirectoryUtility.GetDirectoryDetails(model, model.m_ignoredDirectories, model.m_skippedDirectories);
            model.DirectoryList.Sort(GenericUtility.InvertCompare);

            foreach (var details in model.DirectoryList)
                details.PropertyChanged += model.OnDirectoryDetailsChanged;

            model.IsWorking = true;

            List<DirectoryDetails> directories = model.DirectoryList;

            Task.Run(() => SortDirectoriesWhenLoaded(directories))
                .ContinueWith(task => model.Dispatcher.BeginInvoke(new Action(() =>
                {
                    model.DirectoryList = null;
                    model.DirectoryList = task.Result;
                    model.IsWorking = false;
                })));
        }