public AvalonDockWorkspaceViewModel(ISectionBrowserViewModel sectionBrowserViewModel,
                                            IBlockGroupBrowserViewModel blockGroupBrowserViewModel,
                                            IStartPageViewModel startPageViewModel,
                                            IBlockOutputPreviewViewModel blockOutputPreviewViewModel)
        {
            _sectionBrowserViewModel     = sectionBrowserViewModel;
            _blockGroupBrowserViewModel  = blockGroupBrowserViewModel;
            _blockOutputPreviewViewModel = blockOutputPreviewViewModel;

            _sectionBrowserViewModel.Initialise(this);
            _blockGroupBrowserViewModel.Initialise(this);
            _blockOutputPreviewViewModel.Initialise(this);

            _openDocuments = new ObservableCollection <IDocument> {
                startPageViewModel
            };
            OpenDocuments  = new ReadOnlyObservableCollection <IDocument>(_openDocuments);
            ActiveDocument = startPageViewModel;
        }
        public AvalonDockWorkspaceViewModel(ISectionBrowserViewModel sectionBrowserViewModel,
            IBlockGroupBrowserViewModel blockGroupBrowserViewModel,
            IStartPageViewModel startPageViewModel,
            IBlockOutputPreviewViewModel blockOutputPreviewViewModel)
        {
            _sectionBrowserViewModel = sectionBrowserViewModel;
            _blockGroupBrowserViewModel = blockGroupBrowserViewModel;
            _blockOutputPreviewViewModel = blockOutputPreviewViewModel;

            _sectionBrowserViewModel.Initialise(this);
            _blockGroupBrowserViewModel.Initialise(this);
            _blockOutputPreviewViewModel.Initialise(this);

            _openDocuments = new ObservableCollection<IDocument> {startPageViewModel};
            OpenDocuments = new ReadOnlyObservableCollection<IDocument>(_openDocuments);
            ActiveDocument = startPageViewModel;
        }