void SyncWorkspaceRegionLayout(IWorkspaceRegion region)
        {
            string regionLayout = workspace.FindRegionLayout(region.Id);

            if (regionLayout != null)
            {
                region.RestoreLayout(regionLayout);
            }
            else
            {
                workspace.AddRegion(region.Id, region.SaveLayout());
            }
        }
 public Workspace SaveWorkspace()
 {
     if (workspaceChanging)
     {
         throw new InvalidOperationException();
     }
     workspaceChanging = true;
     workspace         = new Workspace();
     foreach (IWorkspaceRegion region in regions.Values)
     {
         workspace.AddRegion(region.Id, region.SaveLayout());
     }
     return(workspace);
 }