Bug 118076 - ResourceException: Problems encountered while deleting resources
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/AbstractRefactoringDebugTest.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/AbstractRefactoringDebugTest.java
new file mode 100644
index 0000000..ea4f0c0
--- /dev/null
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/AbstractRefactoringDebugTest.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jdt.debug.tests.refactoring;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.search.IJavaSearchConstants;
+import org.eclipse.jdt.core.search.IJavaSearchScope;
+import org.eclipse.jdt.core.search.SearchEngine;
+import org.eclipse.jdt.core.search.SearchPattern;
+import org.eclipse.jdt.core.search.TypeNameRequestor;
+import org.eclipse.jdt.debug.tests.AbstractDebugTest;
+
+/**
+ * Common refactoring utils.
+ * 
+ * @since 3.2
+ */
+public class AbstractRefactoringDebugTest extends AbstractDebugTest {
+
+	public AbstractRefactoringDebugTest(String name) {
+		super(name);
+	}
+	
+	protected void cleanTestFiles() throws CoreException {
+		IWorkspaceRunnable cleaner = new IWorkspaceRunnable() {
+			public void run(IProgressMonitor monitor) throws CoreException {
+				waitUntilIndexesReady();
+				try {
+					doClean();
+				} catch (Exception e) {
+					throw new CoreException(new Status(IStatus.ERROR, "org.eclipse.jdt.debug.tests", 0, "Error", e));
+				}
+			}
+		};
+		ResourcesPlugin.getWorkspace().run(cleaner, null);
+	}
+
+	private void doClean() throws Exception {
+		// ensure proper packages
+		// cleanup new Package
+		IPackageFragmentRoot root = getPackageFragmentRoot(getJavaProject(),
+				"src");
+		IPackageFragment fragment = root.getPackageFragment("renamedPackage");
+		if (fragment.exists())
+			fragment.delete(true, new NullProgressMonitor());
+
+		fragment = root.getPackageFragment("a.b.c");
+		if (!fragment.exists())
+			root
+					.createPackageFragment("a.b.c", true,
+							new NullProgressMonitor());
+
+		// cleanup Movee
+		IFile target = getJavaProject().getProject().getFile(
+				"src/a/b/Movee.java");
+		if (target.exists())
+			target.delete(false, false, null);
+		target = getJavaProject().getProject().getFile("src/a/b/c/Movee.java");// move
+																				// up a
+																				// dir
+		if (target.exists())
+			target.delete(false, false, null);
+		// get original source & replace old result
+		IFile source = getJavaProject().getProject().getFile(
+				"src/a/MoveeSource");// no .java - it's a bin
+		source.copy(target.getFullPath(), false, null);
+
+		// cleanup moveeRecipient
+		target = getJavaProject().getProject().getFile(
+				"src/a/b/MoveeRecipient.java");// move up a dir
+		if (target.exists())
+			target.delete(false, false, null);
+		// get original source & replace old result
+		source = getJavaProject().getProject().getFile(
+				"src/a/MoveeRecipientSource");// no .java - it's a bin
+		source.copy(target.getFullPath(), false, null);
+
+		// cleanup renamedType
+		target = getJavaProject().getProject().getFile(
+				"src/a/b/c/RenamedType.java");// move up a dir
+		if (target.exists())
+			target.delete(false, false, null);
+		// cleanup renamedType
+		target = getJavaProject().getProject().getFile(
+				"src/a/b/c/RenamedCompilationUnit.java");// move up a dir
+		if (target.exists())
+			target.delete(false, false, null);
+
+		// cleanup child
+		target = getJavaProject().getProject().getFile(
+				"src/a/b/MoveeChild.java");// move up a dir
+		if (target.exists())
+			target.delete(false, false, null);
+		target = getJavaProject().getProject().getFile(
+				"src/a/b/c/MoveeChild.java");// move up a dir
+		if (target.exists())
+			target.delete(false, false, null);
+		// get original source & replace old result
+		source = getJavaProject().getProject()
+				.getFile("src/a/MoveeChildSource");// no .java - it's a bin
+		source.copy(target.getFullPath(), false, null);
+	}
+
+	protected static void waitUntilIndexesReady() {
+		// dummy query for waiting until the indexes are ready
+		SearchEngine engine = new SearchEngine();
+		IJavaSearchScope scope = SearchEngine.createWorkspaceScope();
+		try {
+			engine.searchAllTypeNames(null, "!@$#!@".toCharArray(),
+					SearchPattern.R_PATTERN_MATCH
+							| SearchPattern.R_CASE_SENSITIVE,
+					IJavaSearchConstants.CLASS, scope, new TypeNameRequestor() {
+						public void acceptType(int modifiers,
+								char[] packageName, char[] simpleTypeName,
+								char[][] enclosingTypeNames, String path) {
+						}
+					}, IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null);
+		} catch (CoreException e) {
+		}
+	}
+
+}
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeAnonymousTypeMethodSignatureUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeAnonymousTypeMethodSignatureUnitTests.java
index 87c32b7..59d820e 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeAnonymousTypeMethodSignatureUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeAnonymousTypeMethodSignatureUnitTests.java
@@ -18,14 +18,13 @@
 import org.eclipse.jdt.core.IMethod;
 import org.eclipse.jdt.core.dom.Modifier;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureRefactoring;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
 import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class ChangeAnonymousTypeMethodSignatureUnitTests extends AbstractDebugTest{
+public class ChangeAnonymousTypeMethodSignatureUnitTests extends AbstractRefactoringDebugTest {
 
 	public ChangeAnonymousTypeMethodSignatureUnitTests(String name) {
 		super(name);
@@ -97,9 +96,4 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeMethodSignatureUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeMethodSignatureUnitTests.java
index 269087d..44680aa 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeMethodSignatureUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ChangeMethodSignatureUnitTests.java
@@ -20,14 +20,13 @@
 import org.eclipse.jdt.core.Signature;
 import org.eclipse.jdt.core.dom.Modifier;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureRefactoring;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
 import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class ChangeMethodSignatureUnitTests extends AbstractDebugTest{
+public class ChangeMethodSignatureUnitTests extends AbstractRefactoringDebugTest {
 
 	public ChangeMethodSignatureUnitTests(String name) {
 		super(name);
@@ -206,9 +205,4 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertInnerAnonymousTypeToNestedUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertInnerAnonymousTypeToNestedUnitTests.java
index 3d58017..315f78b 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertInnerAnonymousTypeToNestedUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertInnerAnonymousTypeToNestedUnitTests.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jdt.debug.tests.refactoring;
 
-import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.debug.core.model.IBreakpoint;
@@ -22,14 +21,13 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.code.ConvertAnonymousToNestedRefactoring;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
 import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class ConvertInnerAnonymousTypeToNestedUnitTests extends AbstractDebugTest{
+public class ConvertInnerAnonymousTypeToNestedUnitTests extends AbstractRefactoringDebugTest {
 
 	public ConvertInnerAnonymousTypeToNestedUnitTests(String name) {
 		super(name);
@@ -195,26 +193,4 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		//cleanup Movee
-		IFile target = getJavaProject().getProject().getFile("src/a/b/Movee.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);		
-		target = getJavaProject().getProject().getFile("src/a/b/c/Movee.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);
-		//get original source & replace old result
-		IFile source = getJavaProject().getProject().getFile("src/a/b/c/MoveeSource");//no .java - it's a bin
-		source.copy(target.getFullPath(), false, null );
-		
-		//cleanup child
-		target = getJavaProject().getProject().getFile("src/a/b/c/MoveeChild.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);
-		//get original source & replace old result
-		source = getJavaProject().getProject().getFile("src/a/b/c/MoveeChildSource");//no .java - it's a bin
-		source.copy(target.getFullPath(), false, null );
-	}
-	
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertNonPublicAnonymousTypeToNestedUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertNonPublicAnonymousTypeToNestedUnitTests.java
index 99c3a77..04d835b 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertNonPublicAnonymousTypeToNestedUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertNonPublicAnonymousTypeToNestedUnitTests.java
@@ -21,14 +21,13 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.code.ConvertAnonymousToNestedRefactoring;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
 import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class ConvertNonPublicAnonymousTypeToNestedUnitTests extends AbstractDebugTest{
+public class ConvertNonPublicAnonymousTypeToNestedUnitTests extends AbstractRefactoringDebugTest {
 
 	public ConvertNonPublicAnonymousTypeToNestedUnitTests(String name) {
 		super(name);
@@ -195,9 +194,4 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertPublicAnonymousTypeToNestedUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertPublicAnonymousTypeToNestedUnitTests.java
index 7473f24..a34e01a 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertPublicAnonymousTypeToNestedUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ConvertPublicAnonymousTypeToNestedUnitTests.java
@@ -21,14 +21,13 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.code.ConvertAnonymousToNestedRefactoring;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
 import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class ConvertPublicAnonymousTypeToNestedUnitTests extends AbstractDebugTest{
+public class ConvertPublicAnonymousTypeToNestedUnitTests extends AbstractRefactoringDebugTest {
 
 	public ConvertPublicAnonymousTypeToNestedUnitTests(String name) {
 		super(name);
@@ -194,9 +193,4 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ExtractMethodUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ExtractMethodUnitTests.java
index d16bba2..29ed257 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ExtractMethodUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/ExtractMethodUnitTests.java
@@ -16,7 +16,6 @@
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.code.ExtractMethodRefactoring;
 import org.eclipse.jface.text.Document;
 import org.eclipse.jface.text.IDocument;
@@ -26,7 +25,7 @@
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class ExtractMethodUnitTests extends AbstractDebugTest{
+public class ExtractMethodUnitTests extends AbstractRefactoringDebugTest {
 
 	public ExtractMethodUnitTests(String name) {
 		super(name);
@@ -142,9 +141,4 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/FileCleaner.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/FileCleaner.java
deleted file mode 100644
index 98440b5..0000000
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/FileCleaner.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.tests.refactoring;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
-
-public class FileCleaner extends AbstractDebugTest{
-
-	public FileCleaner(String name) {
-		super(name);
-	}
-
-	public void cleanTestFiles() throws Exception
-	{
-		//ensure proper packages
-		//cleanup new Package
-		IPackageFragmentRoot root = getPackageFragmentRoot(getJavaProject(), "src");
-		IPackageFragment fragment = root.getPackageFragment("renamedPackage");
-		if(fragment.exists())
-			fragment.delete(true, new NullProgressMonitor());	
-		
-		fragment = root.getPackageFragment("a.b.c");
-		if(!fragment.exists())
-			root.createPackageFragment("a.b.c", true, new NullProgressMonitor());
-		
-		//cleanup Movee
-		IFile target = getJavaProject().getProject().getFile("src/a/b/Movee.java");
-		if(target.exists())
-			target.delete(false, false, null);		
-		target = getJavaProject().getProject().getFile("src/a/b/c/Movee.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);
-		//get original source & replace old result
-		IFile source = getJavaProject().getProject().getFile("src/a/MoveeSource");//no .java - it's a bin
-		source.copy(target.getFullPath(), false, null );
-		
-		//cleanup moveeRecipient
-		target = getJavaProject().getProject().getFile("src/a/b/MoveeRecipient.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);
-		//get original source & replace old result
-		source = getJavaProject().getProject().getFile("src/a/MoveeRecipientSource");//no .java - it's a bin
-		source.copy(target.getFullPath(), false, null );	
-		
-		//cleanup renamedType
-		target = getJavaProject().getProject().getFile("src/a/b/c/RenamedType.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);
-		//cleanup renamedType
-		target = getJavaProject().getProject().getFile("src/a/b/c/RenamedCompilationUnit.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);		
-		
-		//cleanup child
-		target = getJavaProject().getProject().getFile("src/a/b/MoveeChild.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);		
-		target = getJavaProject().getProject().getFile("src/a/b/c/MoveeChild.java");//move up a dir
-		if(target.exists())
-			target.delete(false, false, null);
-		//get original source & replace old result
-		source = getJavaProject().getProject().getFile("src/a/MoveeChildSource");//no .java - it's a bin
-		source.copy(target.getFullPath(), false, null );
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/IntroduceParameterUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/IntroduceParameterUnitTests.java
index 6734893..b852a3c 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/IntroduceParameterUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/IntroduceParameterUnitTests.java
@@ -16,7 +16,6 @@
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.code.IntroduceParameterRefactoring;
 import org.eclipse.jface.text.Document;
 import org.eclipse.jface.text.IDocument;
@@ -26,7 +25,7 @@
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class IntroduceParameterUnitTests extends AbstractDebugTest{
+public class IntroduceParameterUnitTests extends AbstractRefactoringDebugTest {
 
 	public IntroduceParameterUnitTests(String name) {
 		super(name);
@@ -138,9 +137,4 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveCompilationUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveCompilationUnitTests.java
index 6de9d0a..0fd293e 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveCompilationUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveCompilationUnitTests.java
@@ -24,7 +24,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
 import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
 import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
@@ -38,7 +37,7 @@
  * A set of tests which moves a CompilationUnit and verifies if 
  * various breakpoints associated with that C.U. were moved. 
  */
-public class MoveCompilationUnitTests extends AbstractDebugTest {
+public class MoveCompilationUnitTests extends AbstractRefactoringDebugTest {
 
 	public MoveCompilationUnitTests(String name) {
 		super(name);
@@ -183,12 +182,4 @@
 		RefactoringCore.getUndoManager().flush();
 	}
 		
-	/**
-	 * Replaces the Movee.java file with a clean copy with which to continue tests 
-	 * from a src file.
-	 */
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveFieldUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveFieldUnitTests.java
index 342313d..ed4d34c 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveFieldUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveFieldUnitTests.java
@@ -19,7 +19,6 @@
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
 import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
 import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
@@ -32,7 +31,7 @@
  * A set of tests which moves a CompilationUnit and verifies if 
  * various breakpoints associated with that C.U. were moved. 
  */
-public class MoveFieldUnitTests extends AbstractDebugTest {
+public class MoveFieldUnitTests extends AbstractRefactoringDebugTest {
 
 	public MoveFieldUnitTests(String name) {
 		super(name);
@@ -165,12 +164,4 @@
 		//RefactoringCore.getUndoManager().flush();
 	}
 		
-	/**
-	 * Replaces the Movee.java file with a clean copy with which to continue tests 
-	 * from a src file.
-	 */
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeMethodUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeMethodUnitTests.java
index b64bdea..3063aa0 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeMethodUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeMethodUnitTests.java
@@ -21,7 +21,6 @@
 import org.eclipse.jdt.core.Signature;
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
 import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
 import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
@@ -34,7 +33,7 @@
  * A set of tests which moves a CompilationUnit and verifies if 
  * various breakpoints associated with that C.U. were moved. 
  */
-public class MoveInnerTypeMethodUnitTests extends AbstractDebugTest {
+public class MoveInnerTypeMethodUnitTests extends AbstractRefactoringDebugTest {
 
 	public MoveInnerTypeMethodUnitTests(String name) {
 		super(name);
@@ -136,13 +135,5 @@
 
 		//RefactoringCore.getUndoManager().flush();
 	}
-		
-	/**
-	 * Replaces the Movee.java file with a clean copy with which to continue tests 
-	 * from a src file.
-	 */
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
+
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeToNewFileUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeToNewFileUnitTests.java
index 06ac784..426bf5c 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeToNewFileUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeToNewFileUnitTests.java
@@ -19,7 +19,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.structure.MoveInnerToTopRefactoring;
 import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -27,7 +26,7 @@
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class MoveInnerTypeToNewFileUnitTests extends AbstractDebugTest{
+public class MoveInnerTypeToNewFileUnitTests extends AbstractRefactoringDebugTest {
 
 	private static final Class clazz= MoveInnerTypeToNewFileUnitTests.class;
 	private static final String REFACTORING_PATH= "MoveInnerToTopLevel/";
@@ -148,10 +147,5 @@
 		waitForBuild();
 	}	
 	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
 }
 
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeUnitTests.java
index cac030b..c4ff4b7 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveInnerTypeUnitTests.java
@@ -23,7 +23,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
 import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
 import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
@@ -36,7 +35,7 @@
  * A set of tests which moves a CompilationUnit and verifies if 
  * various breakpoints associated with that C.U. were moved. 
  */
-public class MoveInnerTypeUnitTests extends AbstractDebugTest {
+public class MoveInnerTypeUnitTests extends AbstractRefactoringDebugTest {
 
 	public MoveInnerTypeUnitTests(String name) {
 		super(name);
@@ -189,12 +188,4 @@
 		//RefactoringCore.getUndoManager().flush();
 	}
 		
-	/**
-	 * Replaces the Movee.java file with a clean copy with which to continue tests 
-	 * from a src file.
-	 */
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeMethodUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeMethodUnitTests.java
index 3701181..7de68d6 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeMethodUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeMethodUnitTests.java
@@ -21,7 +21,6 @@
 import org.eclipse.jdt.core.Signature;
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
 import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
 import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
@@ -34,7 +33,7 @@
  * A set of tests which moves a CompilationUnit and verifies if 
  * various breakpoints associated with that C.U. were moved. 
  */
-public class MoveNonPublicTypeMethodUnitTests extends AbstractDebugTest {
+public class MoveNonPublicTypeMethodUnitTests extends AbstractRefactoringDebugTest {
 
 	public MoveNonPublicTypeMethodUnitTests(String name) {
 		super(name);
@@ -136,13 +135,5 @@
 
 		//RefactoringCore.getUndoManager().flush();
 	}
-		
-	/**
-	 * Replaces the Movee.java file with a clean copy with which to continue tests 
-	 * from a src file.
-	 */
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
+
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeUnitTests.java
index 6ae2f14..6eb5744 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MoveNonPublicTypeUnitTests.java
@@ -23,7 +23,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
 import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
 import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
@@ -36,7 +35,7 @@
  * A set of tests which moves a CompilationUnit and verifies if 
  * various breakpoints associated with that C.U. were moved. 
  */
-public class MoveNonPublicTypeUnitTests extends AbstractDebugTest {
+public class MoveNonPublicTypeUnitTests extends AbstractRefactoringDebugTest {
 
 	public MoveNonPublicTypeUnitTests(String name) {
 		super(name);
@@ -191,12 +190,4 @@
 		//RefactoringCore.getUndoManager().flush();
 	}
 		
-	/**
-	 * Replaces the Movee.java file with a clean copy with which to continue tests 
-	 * from a src file.
-	 */
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MovePublicTypeMethodUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MovePublicTypeMethodUnitTests.java
index d05231e..1f680ec 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MovePublicTypeMethodUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/MovePublicTypeMethodUnitTests.java
@@ -21,7 +21,6 @@
 import org.eclipse.jdt.core.Signature;
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
 import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
 import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
@@ -34,7 +33,7 @@
  * A set of tests which moves a CompilationUnit and verifies if 
  * various breakpoints associated with that C.U. were moved. 
  */
-public class MovePublicTypeMethodUnitTests extends AbstractDebugTest {
+public class MovePublicTypeMethodUnitTests extends AbstractRefactoringDebugTest {
 
 	public MovePublicTypeMethodUnitTests(String name) {
 		super(name);
@@ -136,13 +135,5 @@
 
 		//RefactoringCore.getUndoManager().flush();
 	}
-		
-	/**
-	 * Replaces the Movee.java file with a clean copy with which to continue tests 
-	 * from a src file.
-	 */
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
+
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpFieldUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpFieldUnitTests.java
index 7111748..af77ef4 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpFieldUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpFieldUnitTests.java
@@ -20,7 +20,6 @@
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.core.ITypeHierarchy;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.structure.PullUpRefactoring;
 import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -28,7 +27,7 @@
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class PullUpFieldUnitTests extends AbstractDebugTest{
+public class PullUpFieldUnitTests extends AbstractRefactoringDebugTest {
 
 	public PullUpFieldUnitTests(String name) {
 		super(name);
@@ -83,10 +82,5 @@
 		ResourcesPlugin.getWorkspace().run(perform, new NullProgressMonitor());
 		waitForBuild();
 	}	
-	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
+
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpMethodUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpMethodUnitTests.java
index be98e7c..9fd8fe1 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpMethodUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PullUpMethodUnitTests.java
@@ -22,7 +22,6 @@
 import org.eclipse.jdt.core.Signature;
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.structure.PullUpRefactoring;
 import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -30,7 +29,7 @@
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class PullUpMethodUnitTests extends AbstractDebugTest{
+public class PullUpMethodUnitTests extends AbstractRefactoringDebugTest {
 
 	public PullUpMethodUnitTests(String name) {
 		super(name);
@@ -111,10 +110,5 @@
 		ResourcesPlugin.getWorkspace().run(perform, new NullProgressMonitor());//maybe SubPM?
 		waitForBuild();
 	}	
-	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
+
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownFieldUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownFieldUnitTests.java
index 36ef426..e52be1c 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownFieldUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownFieldUnitTests.java
@@ -17,14 +17,13 @@
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.structure.PushDownRefactoring;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
 import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class PushDownFieldUnitTests extends AbstractDebugTest{
+public class PushDownFieldUnitTests extends AbstractRefactoringDebugTest {
 
 	public PushDownFieldUnitTests(String name) {
 		super(name);
@@ -74,10 +73,5 @@
 		ResourcesPlugin.getWorkspace().run(perform, new NullProgressMonitor());
 		waitForBuild();
 	}	
-	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
+
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownMethodUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownMethodUnitTests.java
index e0b051c..1eab633 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownMethodUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/PushDownMethodUnitTests.java
@@ -19,14 +19,13 @@
 import org.eclipse.jdt.core.Signature;
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.structure.PushDownRefactoring;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
 import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
 import org.eclipse.ltk.core.refactoring.Refactoring;
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 
-public class PushDownMethodUnitTests extends AbstractDebugTest{
+public class PushDownMethodUnitTests extends AbstractRefactoringDebugTest {
 
 	public PushDownMethodUnitTests(String name) {
 		super(name);
@@ -101,10 +100,5 @@
 		ResourcesPlugin.getWorkspace().run(perform, new NullProgressMonitor());
 		waitForBuild();
 	}	
-	
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-	
+
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameCompilationUnitUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameCompilationUnitUnitTests.java
index 0995d56..d2679c6 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameCompilationUnitUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameCompilationUnitUnitTests.java
@@ -19,7 +19,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor;
 import org.eclipse.jdt.internal.corext.refactoring.rename.RenameCompilationUnitProcessor;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -28,17 +27,12 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
 
-public class RenameCompilationUnitUnitTests extends AbstractDebugTest{
+public class RenameCompilationUnitUnitTests extends AbstractRefactoringDebugTest {
 
 	public RenameCompilationUnitUnitTests(String name) {
 		super(name);
 	}
 
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-
 	protected final void performRefactor(final Refactoring refactoring) throws Exception {
 		if(refactoring==null)
 			return;
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameFieldUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameFieldUnitTests.java
index 1b87b2d..228b84b 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameFieldUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameFieldUnitTests.java
@@ -17,7 +17,6 @@
 import org.eclipse.jdt.core.IField;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor;
 import org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -26,17 +25,12 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
 
-public class RenameFieldUnitTests extends AbstractDebugTest{
+public class RenameFieldUnitTests extends AbstractRefactoringDebugTest {
 
 	public RenameFieldUnitTests(String name) {
 		super(name);
 	}
 
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-
 	protected final void performRefactor(final Refactoring refactoring) throws Exception {
 		if(refactoring==null)
 			return;
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameInnerTypeUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameInnerTypeUnitTests.java
index 736a07a..235656d 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameInnerTypeUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameInnerTypeUnitTests.java
@@ -22,7 +22,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor;
 import org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -31,18 +30,12 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
 
-public class RenameInnerTypeUnitTests extends AbstractDebugTest{
+public class RenameInnerTypeUnitTests extends AbstractRefactoringDebugTest {
 
 	public RenameInnerTypeUnitTests(String name) {
 		super(name);
 	}
 
-
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-
 	protected final void performRefactor(final Refactoring refactoring) throws Exception {
 		if(refactoring==null)
 			return;
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameMethodUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameMethodUnitTests.java
index 0a788c4..b4c4e64 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameMethodUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameMethodUnitTests.java
@@ -19,7 +19,6 @@
 import org.eclipse.jdt.core.IMethod;
 import org.eclipse.jdt.core.IPackageFragment;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor;
 import org.eclipse.jdt.internal.corext.refactoring.rename.RenameNonVirtualMethodProcessor;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -28,17 +27,12 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
 
-public class RenameMethodUnitTests extends AbstractDebugTest{
+public class RenameMethodUnitTests extends AbstractRefactoringDebugTest {
 
 	public RenameMethodUnitTests(String name) {
 		super(name);
 	}
 
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-
 	protected final void performRefactor(final Refactoring refactoring) throws Exception {
 		if(refactoring==null)
 			return;
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameNonPublicTypeUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameNonPublicTypeUnitTests.java
index 84f543a..2982529 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameNonPublicTypeUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenameNonPublicTypeUnitTests.java
@@ -22,7 +22,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor;
 import org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -31,18 +30,12 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
 
-public class RenameNonPublicTypeUnitTests extends AbstractDebugTest{
+public class RenameNonPublicTypeUnitTests extends AbstractRefactoringDebugTest {
 
 	public RenameNonPublicTypeUnitTests(String name) {
 		super(name);
 	}
 
-
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-
 	protected final void performRefactor(final Refactoring refactoring) throws Exception {
 		if(refactoring==null)
 			return;
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePackageUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePackageUnitTests.java
index 7122839..f2acbf6 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePackageUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePackageUnitTests.java
@@ -22,7 +22,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor;
 import org.eclipse.jdt.internal.corext.refactoring.rename.RenamePackageProcessor;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -31,17 +30,12 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
 
-public class RenamePackageUnitTests extends AbstractDebugTest{
+public class RenamePackageUnitTests extends AbstractRefactoringDebugTest {
 
 	public RenamePackageUnitTests(String name) {
 		super(name);
 	}
 
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-
 	protected final void performRefactor(final Refactoring refactoring) throws Exception {
 		if(refactoring==null)
 			return;
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePublicTypeUnitTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePublicTypeUnitTests.java
index 8dcb673..70eaefa 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePublicTypeUnitTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/refactoring/RenamePublicTypeUnitTests.java
@@ -22,7 +22,6 @@
 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
 import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.tests.AbstractDebugTest;
 import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor;
 import org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor;
 import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
@@ -31,18 +30,12 @@
 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
 
-public class RenamePublicTypeUnitTests extends AbstractDebugTest{
+public class RenamePublicTypeUnitTests extends AbstractRefactoringDebugTest {
 
 	public RenamePublicTypeUnitTests(String name) {
 		super(name);
 	}
 
-
-	protected void cleanTestFiles() throws Exception
-	{
-		new FileCleaner(null).cleanTestFiles();//ensure proper packages
-	}
-
 	protected final void performRefactor(final Refactoring refactoring) throws Exception {
 		if(refactoring==null)
 			return;