diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoableOperation2ChangeAdapter.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoableOperation2ChangeAdapter.java
index ab95169..ad12e80 100644
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoableOperation2ChangeAdapter.java
+++ b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoableOperation2ChangeAdapter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -15,7 +15,6 @@
 
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.commands.operations.IAdvancedUndoableOperation;
-import org.eclipse.core.commands.operations.IAdvancedUndoableOperation2;
 import org.eclipse.core.commands.operations.IUndoContext;
 import org.eclipse.core.commands.operations.IUndoableOperation;
 import org.eclipse.core.commands.operations.OperationHistoryEvent;
@@ -38,7 +37,7 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
 
-public class UndoableOperation2ChangeAdapter implements IUndoableOperation, IAdvancedUndoableOperation, IAdvancedUndoableOperation2  {
+public class UndoableOperation2ChangeAdapter implements IUndoableOperation, IAdvancedUndoableOperation  {
 
 	private String fLabel;
 	private String fDescription;
@@ -348,7 +347,7 @@
 				}
 			}
 		};
-		ResourcesPlugin.getWorkspace().run(runnable, new NotCancelableProgressMonitor(pm));
+		ResourcesPlugin.getWorkspace().run(runnable, pm);
 		return result;
 	}
 
@@ -390,28 +389,4 @@
 		fActiveChange.dispose();
 		fActiveChange= null;
 	}
-
-	/*
-	 * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation2#computeExecutionStatus(org.eclipse.core.runtime.IProgressMonitor)
-	 * @since 3.6
-	 */
-	public IStatus computeExecutionStatus(IProgressMonitor monitor) throws ExecutionException {
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation2#setQuietCompute(boolean)
-	 * @since 3.6
-	 */
-	public void setQuietCompute(boolean quiet) {
-		// ignored
-	}
-
-	/*
-	 * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation2#runInBackground()
-	 * @since 3.6
-	 */
-	public boolean runInBackground() {
-		return true;
-	}
 }
