Too many refreshes occur initializing the content provider
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/ChangeSetContentProvider.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/ChangeSetContentProvider.java
index f8af4ec..d0545b9 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/ChangeSetContentProvider.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/ChangeSetContentProvider.java
@@ -340,13 +340,18 @@
 			theRest = new ResourceDiffTree();
 			theRest.addDiffChangeListener(diffTreeListener);
 			IResourceDiffTree allChanges = getContext().getDiffTree();
-			allChanges.accept(ResourcesPlugin.getWorkspace().getRoot().getFullPath(), new IDiffVisitor() {
-				public boolean visit(IDiff diff) {
-					if (!isContainedInSet(diff))
-						theRest.add(diff);
-					return true;
-				}
-			}, IResource.DEPTH_INFINITE);
+			try {
+				theRest.beginInput();
+				allChanges.accept(ResourcesPlugin.getWorkspace().getRoot().getFullPath(), new IDiffVisitor() {
+					public boolean visit(IDiff diff) {
+						if (!isContainedInSet(diff))
+							theRest.add(diff);
+						return true;
+					}
+				}, IResource.DEPTH_INFINITE);
+			} finally {
+				theRest.endInput(null);
+			}
 		}
 		return theRest;
 	}