internal void AttachWorkspace(Workspace workspace)
 {
     if (workspace == null)
         throw new ArgumentNullException("workspace");
     if (workspaces.Contains(workspace))
         return;
     workspace.RefreshPendingChanges();
     workspaces.Add(workspace);
 }