internal BrowserHubWindowView(BrowserHubWindowViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException("viewModel");
            }

            _viewModel = viewModel;
            InitializeComponent();

            this.DataContext = viewModel;
        }
        static void Main()
        {
            var application = new Application();

            var browserApplicationController        = new BrowserApplicationController(application.Dispatcher);
            var viewModelNameAndTypeSortingComparer = new ViewModelNameAndTypeSortingComparer();
            var userInteractionSystem = new UserInteractionService();

            var virtualFileSystemInstanceManager = new VirtualFileSystemInstanceManager();

            var hubViewModel = new BrowserHubWindowViewModel(browserApplicationController, viewModelNameAndTypeSortingComparer, userInteractionSystem, virtualFileSystemInstanceManager, new DispatcherAdapted(application.Dispatcher));

            var window = new BrowserHubWindowView(hubViewModel);

            application.Run(window);
        }