public void Initialize()
        {
            LeftPane = (IPaneViewModel)Container.Resolve(GetStoredPaneType(_userSettings.LeftPaneType));
            var leftParam = _userSettings.LeftPaneFileListPaneSettings;

            LeftPane.LoadDataAsync(LoadCommand.Load, new LoadDataAsyncParameters(leftParam), PaneLoaded);
            LeftPane.SetActive();

            RightPane = (IPaneViewModel)Container.Resolve(GetStoredPaneType(_userSettings.RightPaneType));
            var rightParam = _userSettings.RightPaneFileListPaneSettings;

            RightPane.LoadDataAsync(LoadCommand.Load, new LoadDataAsyncParameters(rightParam), PaneLoaded);
        }
 private void OnOpenNestedPane(OpenNestedPaneEventArgs args)
 {
     if (LeftPane == args.Opener)
     {
         _leftPaneStack.Push(LeftPane);
         LeftPane = args.Openee;
         LeftPane.SetActive();
     }
     else if (RightPane == args.Opener)
     {
         _rightPaneStack.Push(RightPane);
         RightPane = args.Openee;
         RightPane.SetActive();
     }
 }
 private void OnCloseNestedPane(CloseNestedPaneEventArgs args)
 {
     if (LeftPane == args.Pane)
     {
         var settings = LeftPane.Settings;
         LeftPane.Dispose();
         LeftPane = _leftPaneStack.Pop();
         LeftPane.LoadDataAsync(LoadCommand.Restore, new LoadDataAsyncParameters(settings, args.Payload));
         LeftPane.SetActive();
     }
     else if (RightPane == args.Pane)
     {
         var settings = RightPane.Settings;
         RightPane.Dispose();
         RightPane = _rightPaneStack.Pop();
         RightPane.LoadDataAsync(LoadCommand.Restore, new LoadDataAsyncParameters(settings, args.Payload));
         RightPane.SetActive();
     }
 }