/// <summary>
        /// method executes via interface call when the attached view is loaded.
        /// </summary>
        void IDocumentCanUnload.OnViewLoaded()
        {
            lock (lockObject)
            {
                DocumentViewIsLoaded = true;

                if (this.ActionOnLoad == RequestActionOnLoad.LoadItems)
                {
                    this.ActionOnLoad = RequestActionOnLoad.None;

                    var pageViewmodel = CurrentEditPage as EditTranslationsDocumentViewModel;
                    if (pageViewmodel != null)
                    {
                        ISolutionItem selectedParent = null;

                        if (SolutionSelectedItem != null)
                        {
                            selectedParent = SolutionSelectedItem.GetParent();
                        }

                        if (selectedParent != null)
                        {
                            LoadEditPage(pageViewmodel,
                                         selectedParent.ItemPathName,
                                         SolutionSelectedItem.ItemPathName);
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Perform default selection to get users started without an additional extra click
        /// </summary>
        internal void PerformDefaultSeleciton()
        {
            mSolutionSelectedItem = null;
            ISolutionItem selectItemParent = null;
            ISolutionItem selectItem       = null;

            if (mSolution.Children.Count > 0)
            {
                var root = mSolution.Children[0] as ISolutionItem;

                if (root != null)
                {
                    root.IsExpanded = true;
                    selectItem      = root;

                    if (root.Children.Count > 0)
                    {
                        // Get first project
                        var item = root.SearchFirstItemByType(TypeOfSolutionItem.Project);

                        if (item != null)
                        {
                            if (item.Exists == ItemExisits.DoesExist)
                            {
                                selectItemParent = selectItem.GetParent();
                                selectItem       = item;
                            }

                            item.IsExpanded = true;
                            var expandedItem = item.GetParent();
                            while (expandedItem != null)
                            {
                                expandedItem.IsExpanded = true;
                                expandedItem            = expandedItem.GetParent();
                            }

                            item = selectItem.SearchFirstItemByType(TypeOfSolutionItem.File);

                            if (item != null)
                            {
                                if (item.Exists == ItemExisits.DoesExist)
                                {
                                    selectItemParent = selectItem.GetParent();
                                    selectItem       = item;
                                }

                                item.IsExpanded = true;
                                expandedItem    = item.GetParent();
                                while (expandedItem != null)
                                {
                                    expandedItem.IsExpanded = true;
                                    expandedItem            = expandedItem.GetParent();
                                }
                            }
                        }
                    }
                }

                if (selectItem != null)
                {
                    selectItem.IsSelected = true;
                    SolutionSelectedItem  = selectItem;
                }
            }

            CurrentEditPage = CreateDocumentPageViewModel(selectItem.GetParent(), selectItem, this.mProcessItems);

            var pageViewmodel = CurrentEditPage as EditTranslationsDocumentViewModel;

            if (pageViewmodel != null)
            {
                this.ActionOnLoad = RequestActionOnLoad.LoadItems;
            }

            // Load source and target files belonging to this project (if any)
            if (CurrentEditPage != null && selectItemParent != null && pageViewmodel != null)
            {
                if (selectItemParent.TypeOfItem == TypeOfSolutionItem.Project)
                {
                    var currentPage = CurrentEditPage as DocumentDirtyChangedViewModelBase;
                    if (currentPage != null)
                    {
                        // Is current document a EditTranslationsDocumentViewModel?
                        // Then try to load default data for it...
                        currentPage.DirtyFlagChangedEvent += CurrentEditPage_DirtyFlagChangedEvent;
                        ////pageViewmodel.LoadEditPage(project.SourceFile.Path, child.Path);
                    }
                }
            }
        }