diff --git a/org.eclipse.jdt.ui.examples.projects/exportplugin.xml b/org.eclipse.jdt.ui.examples.projects/exportplugin.xml
new file mode 100644
index 0000000..0927e0d
--- /dev/null
+++ b/org.eclipse.jdt.ui.examples.projects/exportplugin.xml
@@ -0,0 +1,35 @@
+<project name="org.eclipse.search" default="export" basedir=".">
+	<target name="init">
+		<tstamp/>
+		<property name="destdir" value="../../plugin-export" />
+		<property name="plugin"  value="org.eclipse.jdt.ui.examples.projects" />
+		<property name="dest"  value="${destdir}/${plugin}" />
+	</target>
+
+	<target name="build" depends="init">
+    	<incremental project="${plugin}" kind="incr"/>
+	</target>
+
+	<target name="export" depends="build">
+		<mkdir dir="${destdir}" />
+		<delete dir="${dest}" />
+		<mkdir dir="${dest}" />
+		<jar 
+			jarfile="${dest}/jdtexamples.jar"
+			basedir="bin"
+		/>
+		<copy file="plugin.xml" todir="${dest}"/>
+		<copy file="plugin.properties" todir="${dest}"/>
+		<copy file="plugin.jars" todir="${dest}"/>
+		<copy todir="${dest}/icons">
+			<fileset dir="icons" />
+		</copy>
+				<copy todir="${dest}/archive">
+			<fileset dir="archive" />
+		</copy>
+				<copy todir="${dest}/doc-html">
+			<fileset dir="doc-html" />
+		</copy>
+		
+	</target>
+</project>
diff --git a/org.eclipse.jdt.ui.tests.refactoring/.classpath b/org.eclipse.jdt.ui.tests.refactoring/.classpath
deleted file mode 100644
index 988a4cb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/.classpath
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path=""/>
-</classpath>
diff --git a/org.eclipse.jdt.ui.tests.refactoring/.cvsignore b/org.eclipse.jdt.ui.tests.refactoring/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/.vcm_meta b/org.eclipse.jdt.ui.tests.refactoring/.vcm_meta
deleted file mode 100644
index 7655f8d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/.vcm_meta
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-description>
-	<comment></comment>
-	<nature id="org.eclipse.jdt.core.javanature"/>
-	<builder name="org.eclipse.jdt.core.javabuilder">
-	</builder>
-</project-description>
diff --git a/org.eclipse.jdt.ui.tests.refactoring/plugin.xml b/org.eclipse.jdt.ui.tests.refactoring/plugin.xml
deleted file mode 100644
index a16f1ba..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<plugin
-   name="Refactoring Tests Resources"
-   id="Refactoring Tests Resources"
-   version="1.0"
-   vendor-name="IBM">
-      
-</plugin>
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_in.java
deleted file mode 100644
index 0a37955..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-	private int f;
-	void m(){
-		int g= f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_out.java
deleted file mode 100644
index 2c46008..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_out.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	private int f;
-	void m(){
-		int g= getF();
-	}
-	private int getF(){
-		return f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_in.java
deleted file mode 100644
index b00dd07..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-	private int f;
-	void m(){
-		f= 3;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_out.java
deleted file mode 100644
index f166768..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_out.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	private int f;
-	void m(){
-		setF(3);
-	}
-	private void setF(int f){
-		this.f= f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_in.java
deleted file mode 100644
index a0f3096..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//abstract and make private
-package p;
-class A{
-	public int f;
-	void m(){
-		int g= f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_out.java
deleted file mode 100644
index 3ec4bc3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_out.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//abstract and make private
-package p;
-class A{
-	private int f;
-	void m(){
-		int g= f;
-	}
-	public int getF(){
-		return f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_in.java
deleted file mode 100644
index 08a9cad..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_in.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//abstract and make private
-package p;
-class A{
-	public int f;
-	void m(){
-		int g= f;
-	}
-}
-class B{
-	int m(){
-		A a= new A();
-		return a.f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_out.java
deleted file mode 100644
index ce9a78a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_out.java
+++ /dev/null
@@ -1,17 +0,0 @@
-//abstract and make private
-package p;
-class A{
-	private int f;
-	void m(){
-		int g= getF();
-	}
-	public int getF(){
-		return f;
-	}
-}
-class B{
-	int m(){
-		A a= new A();
-		return a.getF();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_in.java
deleted file mode 100644
index af410b1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_in.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//abstract and make private (do not abstract private accesses)
-package p;
-class A{
-	public int f;
-	void m(){
-		int g= f;
-	}
-}
-class B{
-	int m(){
-		A a= new A();
-		return a.f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_out.java
deleted file mode 100644
index 8ccdfa3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_out.java
+++ /dev/null
@@ -1,17 +0,0 @@
-//abstract and make private (do not abstract private accesses)
-package p;
-class A{
-	private int f;
-	void m(){
-		int g= f;
-	}
-	public int getF(){
-		return f;
-	}
-}
-class B{
-	int m(){
-		A a= new A();
-		return a.getF();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_in.java
deleted file mode 100644
index 603871f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_in.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//abstract and make private
-package p;
-class A{
-	public int f;
-	void m(){
-		f= f;
-	}
-}
-class B{
-	int m(){
-		A a= new A();
-		a.f= a.f;
-		return a.f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_out.java
deleted file mode 100644
index 65c7709..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_out.java
+++ /dev/null
@@ -1,21 +0,0 @@
-//abstract and make private
-package p;
-class A{
-	private int f;
-	void m(){
-		setF(getF());
-	}
-	public int getF(){
-		return f;
-	}
-	public void setF(int f){
-		this.f= f;
-	}
-}
-class B{
-	int m(){
-		A a= new A();
-		a.setF(a.getF());
-		return a.getF();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/cannot/A_testFail0.java b/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/cannot/A_testFail0.java
deleted file mode 100644
index 308c8bd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/cannot/A_testFail0.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//abstract and make private, only getter
-package p;
-class A{
-	public int f;
-	void m(){
-		f= f;
-	}
-}
-class B{
-	int m(){
-		A a= new A();
-		a.f= a.f;
-		return a.f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/CopyPackageChange/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/CopyPackageChange/A.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/CopyPackageChange/A.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/.cvsignore b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/.cvsignore
deleted file mode 100644
index 48dd041..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.metadata
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/.classpath b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/.classpath
deleted file mode 100644
index 24fb488..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path=""/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path=""/>
-</classpath>
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/.cvsignore b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/.cvsignore
deleted file mode 100644
index 43e9b71..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-.classpath
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/A.java
deleted file mode 100644
index 6b555c1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-public class A {
-	public void foo() {
-		bar(baz(), baz());
-	}
-	public void bar(int i, int y) {
-	}
-	public int baz() {
-		return 0;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/B.java
deleted file mode 100644
index 3bdd9ed..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/B.java
+++ /dev/null
@@ -1,46 +0,0 @@
-public class B {
-	public void foo() {
-		int i= 0;
-		B b= new B();
-		B[] bb= new B[10];
-		if (i == 0 && i == 10 && b instanceof B)
-			foo();
-		while(i++ == 10) {
-			foo();
-		}
-		i--;
-		
-		while(i++ == 10)
-			foo();
-		i--;
-		
-		do {
-		} while (i < 10);	
-		
-		for (int x= 0, o= 0; x < 10; x++, o++);
-		 {
-			foo();
-			int z;//= x;
-		}
-		
-		try {
-			foo();
-		} catch (Exception e) {
-		} finally {
-		}
-		
-		switch (i) {
-			case 10:
-				foo();
-			case 20:
-				foo();
-			default:
-				foo();
-		}
-	}
-	public int g() {
-		g();
-		return 1;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/C.java
deleted file mode 100644
index 8ccb084..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/C.java
+++ /dev/null
@@ -1,32 +0,0 @@
-public class C {
-	public boolean flag;
-	public void foo() {
-		while (flag)    
-			foo();
-			
-		while (flag) {
-			foo();
-		}
-		
-		for (;flag;)
-			foo();
-			
-		for (;flag;) {
-			foo();
-		}
-		
-		final int i= 10;
-		
-		int x= i;
-		
-		do {
-			foo();
-		} while (flag);
-		
-		try {
-			foo();
-		} catch (Exception e) {
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/D.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/D.java
deleted file mode 100644
index 45647f9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/D.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class D {
-	public char foo() {
-		return 100;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/L.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/L.java
deleted file mode 100644
index 0ad7079..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/L.java
+++ /dev/null
@@ -1,20 +0,0 @@
-public class L {
-
-	public void foo() {
-		int x= 0;
-		
-		x++;
-		
-		// x= 10;
-		int y= x;
-	}
-	
-	public void g(int x) {
-	}
-	
-	public int bar() {
-		bar();
-		return 10;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/Philippe.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/Philippe.java
deleted file mode 100644
index f7df895..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/Philippe.java
+++ /dev/null
@@ -1,13 +0,0 @@
-public class Philippe {
-	void foo(final int out){
-		String tab[] = /*START*/{"hello", "world" } /*END*/;       
-	}
-	
-	public void foo2(int i) {
-		String /*START*/str = "ggg"/*END*/;
-	}
-	
-	public void foo3() {
-		int i= 10, j= 30;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/Test.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/Test.java
deleted file mode 100644
index 01c1179..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/Test.java
+++ /dev/null
@@ -1,9 +0,0 @@
-public class Test {
-	public void foo() {
-		foo();
-		/* comment */int i= 0;/*[*/
-		// comment
-		/** comment */
-		foo();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/X.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/X.java
deleted file mode 100644
index 924073a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/X.java
+++ /dev/null
@@ -1,10 +0,0 @@
-import java.io.*;
-public class X {
-	void foo(final int out){
-		new Object(){
-			void bar(){
-				/*START*/System.out.println(out)/*END*/;
-			}
-		};        
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A.java
deleted file mode 100644
index 51bf6a8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package expression_in;
-
-import java.io.File;
-
-class A {
-	public File getFile() {
-		return null;
-	}
-	public void useFile(File file) {
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test600.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test600.java
deleted file mode 100644
index 34eedde..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test600.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package expression_in;
-
-public class A_test600 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/i < 10/*[*/)
-			foo();
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test601.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test601.java
deleted file mode 100644
index d54aa5b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test601.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package expression_in;
-
-public class A_test601 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/i < 10 && i < 20/*[*/)
-			foo();
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test602.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test602.java
deleted file mode 100644
index 64043bd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test602.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package expression_in;
-
-public class A_test602 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/i < 10 || i < 20/*[*/)
-			foo();
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test603.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test603.java
deleted file mode 100644
index dc74ae7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test603.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package expression_in;
-
-public class A_test603 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/i == 10/*[*/)
-			foo();
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test604.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test604.java
deleted file mode 100644
index ed56ab3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test604.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package expression_in;
-
-public class A_test604 {
-
-	public void foo() {
-		Object o= null;
-		if (/*]*/o == o/*[*/)
-			foo();
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test605.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test605.java
deleted file mode 100644
index 3b579f8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test605.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package expression_in;
-
-public class A_test605 {
-
-	public void foo() {
-		int i= 0;
-		while (/*]*/i <= 10/*[*/)
-			foo();
-		foo();	
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test606.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test606.java
deleted file mode 100644
index 1f447da..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test606.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package expression_in;
-
-public class A_test606 {
-
-	public void foo() {
-		int i= 0;
-		foo();
-		do {
-			foo();
-		} while (/*]*/i <= 10/*[*/);
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test607.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test607.java
deleted file mode 100644
index 3e963c4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test607.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package expression_in;
-
-public class A_test607 {
-
-	public void foo() {
-		for (int i= 0;/*[*/ i < 10/*]*/; i++)
-			foo();
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test608.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test608.java
deleted file mode 100644
index 10b0e24..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test608.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test609.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test609.java
deleted file mode 100644
index 67cccfb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test609.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test610.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test610.java
deleted file mode 100644
index 145379c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test610.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test611.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test611.java
deleted file mode 100644
index fdfaff4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test611.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test612.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test612.java
deleted file mode 100644
index 51f9f7c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test612.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test613.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test613.java
deleted file mode 100644
index d0b255a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test613.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test614.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test614.java
deleted file mode 100644
index 83a194a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test614.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test615.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test615.java
deleted file mode 100644
index ced2203..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test615.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test616.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test616.java
deleted file mode 100644
index 653fd87..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test616.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test617.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test617.java
deleted file mode 100644
index cbd052d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test617.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package expression_in;
-
-public class A_test617 {
-	public int foo() {
-		return 10 + /*]*/20 * 30/*[*/ + 10;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test618.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test618.java
deleted file mode 100644
index dfa7864..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_in/A_test618.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package expression_in;
-
-public class A_test618 {
-	public void foo() {
-		int i= 20 + /*]*/10 * 30/*[*/ + 10;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A.java
deleted file mode 100644
index 137557d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package expression_out;
-
-import java.io.File;
-
-class A {
-	public File getFile() {
-		return null;
-	}
-	public void useFile(File file) {
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test600.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test600.java
deleted file mode 100644
index ff686d2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test600.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package expression_out;
-
-public class A_test600 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/extracted(i)/*[*/)
-			foo();
-	}
-	protected boolean extracted(int i) {
-		return i < 10;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test601.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test601.java
deleted file mode 100644
index 66670c2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test601.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package expression_out;
-
-public class A_test601 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/extracted(i)/*[*/)
-			foo();
-	}
-	protected boolean extracted(int i) {
-		return i < 10 && i < 20;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test602.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test602.java
deleted file mode 100644
index 7984ee8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test602.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package expression_out;
-
-public class A_test602 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/extracted(i)/*[*/)
-			foo();
-	}
-	protected boolean extracted(int i) {
-		return i < 10 || i < 20;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test603.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test603.java
deleted file mode 100644
index 8136208..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test603.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package expression_out;
-
-public class A_test603 {
-
-	public void foo() {
-		int i= 10;
-		if (/*]*/extracted(i)/*[*/)
-			foo();
-	}
-	protected boolean extracted(int i) {
-		return i == 10;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test604.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test604.java
deleted file mode 100644
index d502323..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test604.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package expression_out;
-
-public class A_test604 {
-
-	public void foo() {
-		Object o= null;
-		if (/*]*/extracted(o)/*[*/)
-			foo();
-	}
-	protected boolean extracted(Object o) {
-		return o == o;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test605.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test605.java
deleted file mode 100644
index ca5be20..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test605.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package expression_out;
-
-public class A_test605 {
-
-	public void foo() {
-		int i= 0;
-		while (/*]*/extracted(i)/*[*/)
-			foo();
-		foo();	
-	}
-	protected boolean extracted(int i) {
-		return i <= 10;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test606.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test606.java
deleted file mode 100644
index b241460..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test606.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package expression_out;
-
-public class A_test606 {
-
-	public void foo() {
-		int i= 0;
-		foo();
-		do {
-			foo();
-		} while (/*]*/extracted(i)/*[*/);
-	}
-	protected boolean extracted(int i) {
-		return i <= 10;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test607.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test607.java
deleted file mode 100644
index 4cbfbf6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test607.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package expression_out;
-
-public class A_test607 {
-
-	public void foo() {
-		for (int i= 0;extracted(i); i++)
-			foo();
-	}
-	protected boolean extracted(int i) {
-		return /*[*/ i < 10/*]*/;
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test608.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test608.java
deleted file mode 100644
index 51870d7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test608.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test609.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test609.java
deleted file mode 100644
index 8184e1e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test609.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test610.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test610.java
deleted file mode 100644
index 542f58e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test610.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test611.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test611.java
deleted file mode 100644
index a9240d2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test611.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test612.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test612.java
deleted file mode 100644
index 28f01bd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test612.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test613.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test613.java
deleted file mode 100644
index 22a0ffc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test613.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test614.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test614.java
deleted file mode 100644
index b8ac7dd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test614.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test615.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test615.java
deleted file mode 100644
index 1be2c95..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test615.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test616.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test616.java
deleted file mode 100644
index 8060311..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test616.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test617.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test617.java
deleted file mode 100644
index 11681fb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test617.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package expression_out;
-
-public class A_test617 {
-	public int foo() {
-		return 10 + /*]*/extracted()/*[*/ + 10;
-	}
-	protected int extracted() {
-		return 20 * 30;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test618.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test618.java
deleted file mode 100644
index 790f33b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/expression_out/A_test618.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package expression_out;
-
-public class A_test618 {
-	public void foo() {
-		int i= 20 + /*]*/extracted()/*[*/ + 10;
-	}
-	protected int extracted() {
-		return 10 * 30;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/handTests/Comments.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/handTests/Comments.java
deleted file mode 100644
index bcf4923..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/handTests/Comments.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package handTests;
-public class Comments {
-	/* comment */
-	public void foo() {
-		foo();
-		/* comment */
-		// comment
-		/** comment */
-		foo();
-	}
-	/* comment */
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test010.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test010.java
deleted file mode 100644
index 880e1b6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test010.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test010 {
-	public void /*]*/foo() {
-		foo();
-	}/*[*/
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test011.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test011.java
deleted file mode 100644
index 1adf115..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test011.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test011 {
-	public void foo() {
-		/*]*/foo(/*[*/);
-	}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test012.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test012.java
deleted file mode 100644
index c89c75f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test012.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test012 {
-	public void foo() {
-		/*]*/f();
-		g(/*[*/);
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test013.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test013.java
deleted file mode 100644
index b92d74d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test013.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test013 {
-	public void foo() {/*[*/
-		f();
-		g();
-	}/*[*/
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test014.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test014.java
deleted file mode 100644
index de28005..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test014.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test014 {
-	public void foo() /*]*/{
-		foo();
-	}/*[*/
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test015.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test015.java
deleted file mode 100644
index 32e0e13..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test015.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test015 {
-	public void foo() /*]*/{
-		f();
-		g();
-	/*]*/}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test020.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test020.java
deleted file mode 100644
index d99ed0f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test020.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package invalidSelection;
-
-public class A_test020 {
-	public void foo(int x) {
-		switch(x) {
-			/*]*/case 10:
-				f();
-				break;/*[*/
-			case 11:
-				g();
-				break;
-			default:
-				f();
-				g();		
-		}
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test021.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test021.java
deleted file mode 100644
index a104c30..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test021.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package invalidSelection;
-
-public class A_test021 {
-	public void foo(int x) {
-		/*]*/switch(x) {
-			case 10:
-				f();
-				break;/*[*/
-			case 11:
-				g();
-				break;
-			default:
-				f();
-				g();		
-		}
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test022.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test022.java
deleted file mode 100644
index e256a20..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test022.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package invalidSelection;
-
-public class A_test022 {
-	public void foo(int x) {
-		switch(x) {
-			/*]*/case 10:
-				f();
-				break;
-			case 11:
-				g();
-				break;
-			default:
-				f();
-				g();		
-		/*]*/}
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test030.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test030.java
deleted file mode 100644
index 79812d7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test030.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test030 {
-	public void foo(int x) {
-		{/*[*/
-			f();
-		}/*[*/
-	}	
-	public void f() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test031.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test031.java
deleted file mode 100644
index b8fc35b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test031.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test031 {
-	public void foo(int x) {
-		/*]*/{
-			f();
-		/*]*/}
-	}	
-	public void f() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test040.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test040.java
deleted file mode 100644
index f7a17c4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test040.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test040 {
-	public void foo() {
-		for (int i= 0; i /*]*/</*[*/ 10; i++)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test041.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test041.java
deleted file mode 100644
index e3219e2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test041.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test041 {
-	public void foo() {
-		for (/*]*/int i= 0/*[*/; i < 10; i++)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test042.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test042.java
deleted file mode 100644
index 87baa6f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test042.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test042 {
-	public void foo() {
-		for (int i= 0; i < 10; /*]*/i++/*[*/)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test043.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test043.java
deleted file mode 100644
index 6782f44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test043.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test043 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)/*[*/
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test044.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test044.java
deleted file mode 100644
index eba8d19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test044.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test044 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo(/*[*/);
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test045.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test045.java
deleted file mode 100644
index 8553338..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test045.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test045 {
-	public void foo() {
-		for /*]*/(int i= 0; i < 10; i++)
-			foo();/*[*/
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test046.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test046.java
deleted file mode 100644
index ad867fc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test046.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test046 {
-	public void foo() {
-		for (int i= 10; i < 10; i++)
-			for (int z= 10; z < 10; z++)
-				/*]*/foo();
-		foo()/*[*/;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test047.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test047.java
deleted file mode 100644
index a84e445..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test047.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test047 {
-	public void foo() {
-		for (int i= 10; i < 10; i++)
-			/*]*/for (int z= 10; z < 10; z++)
-				foo();
-		foo()/*[*/;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test048.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test048.java
deleted file mode 100644
index 69ae79b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test048.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package invalidSelection;
-
-import java.util.Enumeration;
-
-public class A_test048 {
-	public boolean flag;
-	public void foo() {
-		for (/*]*/Enumeration e= tests()/*[*/; e.hasMoreElements(); ) {
-			if (flag)
-				break;
-		}
-	}	
-	public Enumeration tests() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test050.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test050.java
deleted file mode 100644
index 1321a16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test050.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test050 {
-	public void foo() {
-		while(1 /*]*/</*[*/ 10)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test051.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test051.java
deleted file mode 100644
index e91b2d4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test051.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test051 {
-	public void foo() {
-		/*]*/while(1 < 10)/*[*/
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test052.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test052.java
deleted file mode 100644
index b374911..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test052.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package invalidSelection;
-
-public class A_test052 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())/*[*/
-			while(b())
-				foo();
-		foo()/*[*/;		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test060.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test060.java
deleted file mode 100644
index e1b6bdd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test060.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test060 {
-	public void foo() {
-		do 
-			foo();
-		while(100 /*]*/>/*[*/  10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test061.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test061.java
deleted file mode 100644
index a1e56d2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test061.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test061 {
-	public void foo() {
-		do 
-			/*]*/foo();
-		while(1 < 10);/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test062.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test062.java
deleted file mode 100644
index 4913526..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test062.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test062 {
-	public void foo() {
-		/*]*/do 
-			foo();/*[*/
-		while(1 < 10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test063.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test063.java
deleted file mode 100644
index d834943..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test063.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test063 {
-	public void foo() {
-		do/*[*/
-			foo();
-		/*]*/while(1 < 10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test070.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test070.java
deleted file mode 100644
index f2b6365..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test070.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test070 {
-	public int foo() {
-		int i= foo();
-		switch/*[*/ (i) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		}/*[*/
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test071.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test071.java
deleted file mode 100644
index 1e29c19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test071.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test071 {
-	public int foo() {
-		int i= foo();
-		/*]*/switch (i) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		/*]*/}
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test072.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test072.java
deleted file mode 100644
index 786a188..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test072.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test072 {
-	public int foo() {
-		int i= foo();
-		switch (i) {
-			case 1/*]*/:
-				foo()/*[*/;
-			case 2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		}
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test073.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test073.java
deleted file mode 100644
index 921196e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test073.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test073 {
-	public int foo() {
-		int i= foo();
-		switch (i) {
-			case 1:/*[*/
-				foo();
-			case/*[*/2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		}
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test080.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test080.java
deleted file mode 100644
index 0087e62..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test080.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test080 {
-	public boolean fBoolean;
-	public void foo() {
-		if (/*]*/fBoolean/*[*/)
-			foo();
-		else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test081.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test081.java
deleted file mode 100644
index 088e444..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test081.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test081 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		else
-			/*]*/foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test082.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test082.java
deleted file mode 100644
index 8e1e3bc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test082.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test082 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();/*[*/
-		else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test083.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test083.java
deleted file mode 100644
index 05af41d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test083.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test083 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		/*]*/else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test084.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test084.java
deleted file mode 100644
index 42cf868..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test084.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test084 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		else/*[*/
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test085.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test085.java
deleted file mode 100644
index 7969c16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test085.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test085 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			foo();
-		/*]*/else
-			foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test090.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test090.java
deleted file mode 100644
index 18c6c71..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test090.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test090 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/break/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test091.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test091.java
deleted file mode 100644
index a2e5c4c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test091.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test091 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/continue/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test092.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test092.java
deleted file mode 100644
index ccaed03..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test092.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test092 {
-	public void foo() {
-		while (true)
-			/*]*/break/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test093.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test093.java
deleted file mode 100644
index 165eb67..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test093.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test093 {
-	public void foo() {
-		while (true)
-			/*]*/continue/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test094.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test094.java
deleted file mode 100644
index d3c0b17..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test094.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test094 {
-	public void foo() {
-		do
-			/*]*/break/*[*/;
-		while(true);
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test095.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test095.java
deleted file mode 100644
index e330d16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test095.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test095 {
-	public void foo() {
-		do
-			/*]*/continue/*[*/;
-		while(true);
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test096.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test096.java
deleted file mode 100644
index 4b0fe42..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test096.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package invalidSelection;
-
-public class A_test096 {
-	public void foo() {
-		int i= 10;
-		switch(i) {
-			case 10:
-				foo();
-				/*]*/break/*[*/;
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test100.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test100.java
deleted file mode 100644
index 8113e0b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test100.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test100 {
-	public void foo() {
-		try /*]*/{
-			foo();
-		}/*[*/ catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test101.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test101.java
deleted file mode 100644
index 26e171f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test101.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test101 {
-	public void foo() {
-		try /*]*/{
-			foo();
-		/*]*/} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test102.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test102.java
deleted file mode 100644
index 39fd3ff..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test102.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test102 {
-	public void foo() {
-		try {/*[*/
-			foo();
-		}/*[*/ catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test103.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test103.java
deleted file mode 100644
index ffe0310..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test103.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test103 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) /*]*/{
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test104.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test104.java
deleted file mode 100644
index 6bb367b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test104.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test104 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {/*[*/
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test105.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test105.java
deleted file mode 100644
index d8f6c1f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test105.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test105 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) /*]*/{
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test106.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test106.java
deleted file mode 100644
index d5c166f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test106.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test106 {
-	public void foo() {
-		try {
-			foo();
-		} finally /*]*/{
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test107.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test107.java
deleted file mode 100644
index 4d8f1bd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test107.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test107 {
-	public void foo() {
-		try {
-			foo();
-		} finally {/*[*/
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test108.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test108.java
deleted file mode 100644
index 4c79c88..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test108.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test108 {
-	public void foo() {
-		try {
-			foo();
-		} finally /*]*/{
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test109.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test109.java
deleted file mode 100644
index fa68c05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test109.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test109 {
-	public void foo() {
-		/*]*/try {
-			foo();
-		} finally {
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test110.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test110.java
deleted file mode 100644
index 6ecade3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test110.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test110 {
-	public void foo() {
-		try/*[*/{
-			foo();
-		} finally {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test111.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test111.java
deleted file mode 100644
index c9903ff..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test111.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test111 {
-	public void foo() {
-		try {
-			foo();
-		} catch (/*]*/Exception e/*[*/) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test112.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test112.java
deleted file mode 100644
index 689f857..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test112.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test112 {
-	public void foo() {
-		try {
-			foo();
-		} /*]*/catch (Exception e) {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test113.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test113.java
deleted file mode 100644
index 2c2db9b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test113.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test113 {
-	public void foo() {
-		/*]*/try {
-			foo();
-		}/*[*/ catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test114.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test114.java
deleted file mode 100644
index 1cfce05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test114.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test114 {
-	public void foo() {
-		try {
-			foo();
-		} /*]*/finally {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test115.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test115.java
deleted file mode 100644
index 37a6af2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test115.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test115 {
-	public void foo() {
-		try {
-			foo();
-		} catch /*]*/(Exception e)/*[*/ {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test120.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test120.java
deleted file mode 100644
index a5fad98..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test120.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test120 {
-	public boolean foo() {
-		/*]*/return/*[*/ false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test121.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test121.java
deleted file mode 100644
index 81f0057..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test121.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package invalidSelection;
-
-public class A_test121 {
-	public void foo() {
-		int x= 1;
-		int y= 2;
-		
-		/*]*/x= y + x;
-		y= x + y;/*[*/
-		
-		x++;
-		y++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test122.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test122.java
deleted file mode 100644
index 02515c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test122.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package invalidSelection;
-
-public class A_test122 {
-	public void foo() {
-		int x= 1;
-
-		/*]*/x= x + 2;
-		int y= 10;/*[*/
-		
-		x+= y + 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test130.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test130.java
deleted file mode 100644
index 7b21c75..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test130.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test130 {
-	public void foo() {
-		class Inner {
-		}
-		
-		/*]*/Inner inner= new Inner();
-		foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test131.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test131.java
deleted file mode 100644
index 81471a2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test131.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package invalidSelection;
-
-public class A_test131 {
-	public void foo() {
-		
-		/*]*/class Inner {
-		}
-		foo();/*[*/
-		
-		Inner inner= new Inner();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test140.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test140.java
deleted file mode 100644
index c64ef8e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test140.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package invalidSelection;
-
-public class A_test140 {
-	public boolean flag;
-	public int foo() {
-		int i= 10;
-		/*]*/switch(i) {
-			case 1:
-				if (flag)
-					break;
-				foo();	
-			case 2:
-				return 10;
-			default:
-				throw new NullPointerException();
-		}/*[*/
-			
-		return 10;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test141.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test141.java
deleted file mode 100644
index 18de82c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test141.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test141 {
-	private boolean flag;
-	public int foo() {
-		/*]*/while(flag)
-			return 20;/*[*/
-		return 10;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test142.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test142.java
deleted file mode 100644
index b5276a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test142.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package invalidSelection;
-
-public class A_test142 {
-	private boolean flag;
-	public int foo() {
-		int i= 10;
-		/*]*/if (flag) {
-			i++;
-			return i;
-		}/*[*/
-		int y= i + 10;
-		return y;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test143.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test143.java
deleted file mode 100644
index 4e13dbd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test143.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test143 {
-	public boolean foo() {
-		/*]*/try {
-			return true;
-		} catch (Exception e) {
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test144.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test144.java
deleted file mode 100644
index 45016ec..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test144.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test144 {
-	public boolean foo() {
-		/*]*/try {
-		} catch (Exception e) {
-			return true;
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test145.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test145.java
deleted file mode 100644
index 795f60b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test145.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test145 {
-	boolean flag;
-	public boolean foo() {
-		/*]*/do {
-			if (flag)
-				break;
-			return false;
-		} while (flag);/*[*/
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test146.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test146.java
deleted file mode 100644
index 4608af9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test146.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package invalidSelection;
-
-public class A_test146 {
-	boolean flag;
-	public boolean foo() {
-		while (flag) {
-			/*]*/for (int i= 0; i < 10; i++) {
-				if (flag)
-					break;
-			}
-			if (flag)
-				break;
-			return false;/*[*/
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test147.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test147.java
deleted file mode 100644
index f7fd521..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test147.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package invalidSelection;
-
-public class A_test147 {
-	boolean flag;
-	public boolean foo() {
-		/*]*/target: {
-			for (int i= 0; i < 10; i++) {
-				if (flag)
-					break;
-				else
-					break target;
-			}
-			return false;
-		}/*[*/
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test148.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test148.java
deleted file mode 100644
index 39c842b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test148.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package invalidSelection;
-
-public class A_test148 {
-	boolean flag;
-	public boolean foo() {
-		int i= 0;
-		/*]*/switch (i) {
-			case 1:
-				return false;
-			case 2:
-				return true;
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test149.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test149.java
deleted file mode 100644
index c33a562..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test149.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package invalidSelection;
-
-public class A_test149 {
-	boolean flag;
-	public boolean foo() {
-		int i= 0;
-		/*]*/switch (i) {
-			case 1:
-				break;
-			case 2:
-				return true;
-			default:
-				return false;
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test150.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test150.java
deleted file mode 100644
index 942d696..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test150.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test151.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test151.java
deleted file mode 100644
index aa41b19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test151.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test152.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test152.java
deleted file mode 100644
index 91d26c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test152.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test153.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test153.java
deleted file mode 100644
index eedcc24..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test153.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test160.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test160.java
deleted file mode 100644
index 965967c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test160.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package invalidSelection;
-
-public class A_test160 {
-	/*]*/public static class Inner {
-	}/*[*/
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test161.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test161.java
deleted file mode 100644
index ee94548..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test161.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test161 {
-	public void foo() {
-		class /*]*/Inner {
-		}/*]*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test170.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test170.java
deleted file mode 100644
index bda6db9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test170.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test170 {
-	public void foo() {
-		String tab[] = /*]*/{"hello", "world" } /*[*/;       
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test171.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test171.java
deleted file mode 100644
index cac9b44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test171.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test171 {
-	public void foo() {
-		String /*]*/str = "ggg"/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test172.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test172.java
deleted file mode 100644
index eca6057..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test172.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test172 {
-	public void foo() {
-		/*]*/int i= 10/*[*/, j= 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test173.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test173.java
deleted file mode 100644
index e9364fc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test173.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test173 {
-	public void foo() {
-		/*]*/int i= 10, j= 20;/*[*/
-		g(j);
-		g(i);
-	}
-	public void g(int i) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test180.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test180.java
deleted file mode 100644
index 6998bd8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test180.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test180 {
-	public A_test180() {
-		/*]*/this(10);
-		foo();/*[*/
-	}
-	public A_test180(int i) {
-		super();
-	}
-	public void foo() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test181.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test181.java
deleted file mode 100644
index e2ba0ee..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test181.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test181 {
-	public A_test181() {
-		/*]*/super();
-		foo();/*[*/
-	}
-	public void foo() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test190.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test190.java
deleted file mode 100644
index ae16b3f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_test190.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package invalidSelection;
-
-public class A_test190 {
-	public int foo() {
-		int i= 10;
-		/*]*/switch(i) {
-			case 1:
-				foo();
-				break;
-			case 2:
-				foo();
-			default:
-				return 10;
-		}/*[*/
-		
-		return 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_testx.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_testx.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/invalidSelection/A_testx.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test500.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test500.java
deleted file mode 100644
index 00481af..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test500.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package locals_in;
-
-public class A_test500 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/int y= x;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test501.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test501.java
deleted file mode 100644
index bd2555e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test501.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package locals_in;
-
-public class A_test501 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/x= 20;
-		int y= x;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test502.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test502.java
deleted file mode 100644
index 67f65ea..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test502.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test502 {
-	public void foo() {
-		int x= 0;
-		int y= 0;
-
-		/*]*/x= 10;
-		y= x;
-		x= y;/*[*/		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test503.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test503.java
deleted file mode 100644
index fc3d9f3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test503.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package locals_in;
-
-public class A_test503 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/x++;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test504.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test504.java
deleted file mode 100644
index 9a9797b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test504.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package locals_in;
-
-public class A_test504 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/--x;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test505.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test505.java
deleted file mode 100644
index bbbe8d1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test505.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package locals_in;
-
-public class A_test505 {
-	public void foo() {
-		int x= 0;
-		
-		/*]*/x+= 1;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test506.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test506.java
deleted file mode 100644
index 1ca99ea..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test506.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test506 {
-	public void foo() {
-		int x= 0;
-		
-		/*]*/bar(x);/*[*/
-	}
-	
-	public void bar(int i) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test507.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test507.java
deleted file mode 100644
index c35f355..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test507.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package locals_in;
-
-public class A_test507 {
-	public void foo() {
-		int x= 0;
-		
-		/*]*/x= 10;/*[*/
-		
-		int y= x;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test508.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test508.java
deleted file mode 100644
index 9d072f0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test508.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package locals_in;
-
-public class A_test508 {
-	public void foo() {
-		int x= 0;
-		int y= 0;
-		
-		/*]*/x= 10;
-		y= 20;/*[*/
-		
-		y= x;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test509.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test509.java
deleted file mode 100644
index b6bd890..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test509.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package locals_in;
-
-public class A_test509 {
-	public void foo() {
-		int x= 0;
-		int y= 0;
-
-		/*]*/y= x;
-		x= 0;/*[*/		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test510.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test510.java
deleted file mode 100644
index e8cfc0c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test510.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test511.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test511.java
deleted file mode 100644
index 510f18c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test511.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test512.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test512.java
deleted file mode 100644
index 391fbfa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test512.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test513.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test513.java
deleted file mode 100644
index 072ad21..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test513.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test514.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test514.java
deleted file mode 100644
index 0326247..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test514.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test515.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test515.java
deleted file mode 100644
index f015ca3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test515.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test516.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test516.java
deleted file mode 100644
index 5969c24..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test516.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package locals_in;
-
-public class A_test516 {
-	public void foo() {
-		/*]*/int i= 10, j= 20;/*[*/
-		
-		j++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test517.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test517.java
deleted file mode 100644
index 7dcfb96..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test517.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package locals_in;
-
-public class A_test517 {
-	public void foo() {
-		/*]*/int i;
-		int j;
-		j= 20;/*[*/
-		
-		i= j + 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test518.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test518.java
deleted file mode 100644
index f05fa2c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test518.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package locals_in;
-
-public class A_test518 {
-	public void foo() {
-		int i;
-		
-		/*]*/i= 10;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test519.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test519.java
deleted file mode 100644
index db301de..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test519.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package locals_in;
-
-public class A_test519 {
-	public void foo() {
-		int i;
-
-		/*]*/i= 10;/*[*/
-		
-		i= 20;		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test520.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test520.java
deleted file mode 100644
index 21a0ebb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test520.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package locals_in;
-
-public class A_test520 {
-	public void foo() {
-		int i= 0;
-
-		/*]*/int y= i;/*[*/
-		
-		i= 20;		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test530.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test530.java
deleted file mode 100644
index 78743d8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test530.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package locals_in;
-
-public class A_test530 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= null;
-		
-		/*]*/inner= new Inner();/*[*/
-		
-		inner.x= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test531.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test531.java
deleted file mode 100644
index ea1546b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test531.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package locals_in;
-
-public class A_test531 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= new Inner();
-		
-		/*]*/inner.x= 10;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test532.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test532.java
deleted file mode 100644
index 341ded2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test532.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package locals_in;
-
-public class A_test532 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= new Inner();
-		
-		/*]*/inner.x= 10;/*[*/
-		
-		int y= inner.x;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test533.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test533.java
deleted file mode 100644
index f9fc02d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test533.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package locals_in;
-
-public class A_test533 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		/*]*/Inner inner= new Inner();/*[*/
-
-		Inner inner2= inner;		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test534.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test534.java
deleted file mode 100644
index 983834f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test534.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package locals_in;
-
-public class A_test534 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= new Inner();
-		
-		/*]*/inner.x= 10;/*[*/
-		
-		int y= inner.x;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test535.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test535.java
deleted file mode 100644
index 327f401..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test535.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test536.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test536.java
deleted file mode 100644
index 5f657d0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test536.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test537.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test537.java
deleted file mode 100644
index fae793f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test537.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test538.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test538.java
deleted file mode 100644
index 4941b34..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test538.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test539.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test539.java
deleted file mode 100644
index a5f910f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test539.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test540.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test540.java
deleted file mode 100644
index bee1546..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test540.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test541.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test541.java
deleted file mode 100644
index 4dcfd2f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test541.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test542.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test542.java
deleted file mode 100644
index cdba4cd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test542.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test543.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test543.java
deleted file mode 100644
index 5238c7c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test543.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test550.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test550.java
deleted file mode 100644
index 3509200..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test550.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test550 {
-
-	public void foo() {
-		int i= 0;
-		while(true) {
-			/*]*/i++;/*[*/
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test551.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test551.java
deleted file mode 100644
index 039cfe5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test551.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test551 {
-
-	public void foo() {
-		int i= 0;
-		do {
-			/*]*/i++;/*[*/
-		} while (true);
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test552.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test552.java
deleted file mode 100644
index 1e59694..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test552.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test552 {
-
-	public void foo() {
-		int i= 0;
-		for (;true;) {
-			/*]*/i++;/*[*/
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test553.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test553.java
deleted file mode 100644
index 15556c3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test553.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test553 {
-
-	public void foo() {
-		int i= 0;
-		for (int x= i++, y= x;true;) {
-			/*]*/x= i;/*[*/
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test554.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test554.java
deleted file mode 100644
index 185d52e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test554.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test554 {
-	public boolean flag;
-	public void foo() {
-		int x;
-		/*]*/if (flag)
-			x= 10;/*[*/
-		x= 20;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test555.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test555.java
deleted file mode 100644
index b2f18c8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test555.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package locals_in;
-
-public class A_test555 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		while (true) {
-			for (int y= x; true; ) {
-				/*]*/x= 20;/*[*/
-			}
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test556.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test556.java
deleted file mode 100644
index 57299d4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test556.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package locals_in;
-
-public class A_test556 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		while (true) {
-			for (int y= 0; true; y= x) {
-				/*]*/x= 20;/*[*/
-			}
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test557.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test557.java
deleted file mode 100644
index e4e683a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test557.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test557 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		for (int y= x; true;) {
-			/*]*/x= 20;/*[*/
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test558.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test558.java
deleted file mode 100644
index dfec313..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test558.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test558 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		for (int y= 0; (x= 20) < 10; y= x) {
-			/*]*/x= 20;/*[*/
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test559.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test559.java
deleted file mode 100644
index 5c99d51..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test559.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test559 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		for (int y= 0; x < 10; x= 20) {
-			/*]*/x= 20;/*[*/
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test560.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test560.java
deleted file mode 100644
index 61ad5e1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test560.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test560 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		while (x < 10) {
-			/*]*/x= 20;/*[*/
-		}
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test561.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test561.java
deleted file mode 100644
index d25de25..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test561.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_in;
-
-public class A_test561 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		do {
-			/*]*/x= 20;/*[*/
-		} while (x < 10);
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test562.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test562.java
deleted file mode 100644
index c599bb0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test562.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package locals_in;
-
-public class A_test562 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		do {
-			int y= x;
-			/*]*/x= 20;/*[*/
-		} while (true);
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test563.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test563.java
deleted file mode 100644
index 2f8f2de..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_in/A_test563.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package locals_in;
-
-public class A_test563 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		do {
-			int y= x;
-			/*]*/x= 20;/*[*/
-		} while ((x= 20) < 10);
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test500.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test500.java
deleted file mode 100644
index c188682..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test500.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_out;
-
-public class A_test500 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/extracted(x);/*[*/
-	}
-	protected void extracted(int x) {
-		int y= x;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test501.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test501.java
deleted file mode 100644
index f28bbc3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test501.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package locals_out;
-
-public class A_test501 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/extracted();/*[*/
-	}
-	protected void extracted() {
-		int x;
-		x= 20;
-		int y= x;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test502.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test502.java
deleted file mode 100644
index c54aa68..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test502.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package locals_out;
-
-public class A_test502 {
-	public void foo() {
-		int x= 0;
-		int y= 0;
-
-		/*]*/extracted();/*[*/		
-	}
-	protected void extracted() {
-		int x;
-		int y;
-		x= 10;
-		y= x;
-		x= y;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test503.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test503.java
deleted file mode 100644
index d66f421..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test503.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_out;
-
-public class A_test503 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/extracted(x);/*[*/
-	}
-	protected void extracted(int x) {
-		x++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test504.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test504.java
deleted file mode 100644
index f324222..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test504.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_out;
-
-public class A_test504 {
-	public void foo() {
-		int x= 10;
-		
-		/*]*/extracted(x);/*[*/
-	}
-	protected void extracted(int x) {
-		--x;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test505.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test505.java
deleted file mode 100644
index f1ea723..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test505.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package locals_out;
-
-public class A_test505 {
-	public void foo() {
-		int x= 0;
-		
-		/*]*/extracted(x);/*[*/
-	}
-	protected void extracted(int x) {
-		x+= 1;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test506.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test506.java
deleted file mode 100644
index fa81882..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test506.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test506 {
-	public void foo() {
-		int x= 0;
-		
-		/*]*/extracted(x);/*[*/
-	}
-
-	protected void extracted(int x) {
-		bar(x);
-	}
-	
-	public void bar(int i) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test507.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test507.java
deleted file mode 100644
index 1f9a59f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test507.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test507 {
-	public void foo() {
-		int x= 0;
-		
-		/*]*/x= extracted();/*[*/
-		
-		int y= x;
-	}
-	protected int extracted() {
-		int x;
-		x= 10;
-		return x;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test508.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test508.java
deleted file mode 100644
index ee55dde..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test508.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package locals_out;
-
-public class A_test508 {
-	public void foo() {
-		int x= 0;
-		int y= 0;
-		
-		/*]*/x= extracted();/*[*/
-		
-		y= x;
-	}
-	protected int extracted() {
-		int x;
-		int y;
-		x= 10;
-		y= 20;
-		return x;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test509.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test509.java
deleted file mode 100644
index 6ee8367..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test509.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package locals_out;
-
-public class A_test509 {
-	public void foo() {
-		int x= 0;
-		int y= 0;
-
-		/*]*/extracted(x);/*[*/		
-	}
-	protected void extracted(int x) {
-		int y;
-		y= x;
-		x= 0;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test510.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test510.java
deleted file mode 100644
index 9288c5b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test510.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test511.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test511.java
deleted file mode 100644
index 2a2e987..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test511.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test512.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test512.java
deleted file mode 100644
index 8e719e8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test512.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test513.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test513.java
deleted file mode 100644
index c157ea6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test513.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test514.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test514.java
deleted file mode 100644
index 0049e15..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test514.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test515.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test515.java
deleted file mode 100644
index 6300a17..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test515.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test516.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test516.java
deleted file mode 100644
index 4f4f8fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test516.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package locals_out;
-
-public class A_test516 {
-	public void foo() {
-		/*]*/int j= extracted();/*[*/
-		
-		j++;
-	}
-	protected int extracted() {
-		int i= 10, j= 20;
-		return j;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test517.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test517.java
deleted file mode 100644
index 9ec3583..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test517.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test517 {
-	public void foo() {
-		/*]*/int i;
-		int j= extracted();/*[*/
-		
-		i= j + 10;
-	}
-	protected int extracted() {
-		int i;
-		int j;
-		j= 20;
-		return j;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test518.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test518.java
deleted file mode 100644
index 1b19c83..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test518.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package locals_out;
-
-public class A_test518 {
-	public void foo() {
-		int i;
-		
-		/*]*/extracted();/*[*/
-	}
-	protected void extracted() {
-		int i;
-		i= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test519.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test519.java
deleted file mode 100644
index 0fff76a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test519.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package locals_out;
-
-public class A_test519 {
-	public void foo() {
-		int i;
-
-		/*]*/extracted();/*[*/
-		
-		i= 20;		
-	}
-	protected void extracted() {
-		int i;
-		i= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test520.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test520.java
deleted file mode 100644
index f9109ed..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test520.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package locals_out;
-
-public class A_test520 {
-	public void foo() {
-		int i= 0;
-
-		/*]*/extracted(i);/*[*/
-		
-		i= 20;		
-	}
-	protected void extracted(int i) {
-		int y= i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test530.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test530.java
deleted file mode 100644
index f6e70a4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test530.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package locals_out;
-
-public class A_test530 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= null;
-		
-		/*]*/inner= extracted();/*[*/
-		
-		inner.x= 10;
-	}
-	protected Inner extracted() {
-		Inner inner;
-		inner= new Inner();
-		return inner;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test531.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test531.java
deleted file mode 100644
index 8b6c46b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test531.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test531 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= new Inner();
-		
-		/*]*/extracted(inner);/*[*/
-	}
-	protected void extracted(Inner inner) {
-		inner.x= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test532.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test532.java
deleted file mode 100644
index af621af..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test532.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package locals_out;
-
-public class A_test532 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= new Inner();
-		
-		/*]*/extracted(inner);/*[*/
-		
-		int y= inner.x;
-	}
-	protected void extracted(Inner inner) {
-		inner.x= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test533.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test533.java
deleted file mode 100644
index 2308ee3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test533.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package locals_out;
-
-public class A_test533 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		/*]*/Inner inner= extracted();/*[*/
-
-		Inner inner2= inner;		
-	}
-	protected Inner extracted() {
-		Inner inner= new Inner();
-		return inner;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test534.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test534.java
deleted file mode 100644
index fc7368d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test534.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package locals_out;
-
-public class A_test534 {
-	class Inner {
-		public int x;
-	}
-	
-	public void foo() {
-		Inner inner= new Inner();
-		
-		/*]*/extracted(inner);/*[*/
-		
-		int y= inner.x;
-	}
-	protected void extracted(Inner inner) {
-		inner.x= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test535.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test535.java
deleted file mode 100644
index f225aef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test535.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test536.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test536.java
deleted file mode 100644
index 9867032..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test536.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test537.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test537.java
deleted file mode 100644
index b3ab270..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test537.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test538.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test538.java
deleted file mode 100644
index b861b03..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test538.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test539.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test539.java
deleted file mode 100644
index fb14155..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test539.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test540.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test540.java
deleted file mode 100644
index bb85117..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test540.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test541.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test541.java
deleted file mode 100644
index ccb88cc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test541.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test542.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test542.java
deleted file mode 100644
index 4a2f416..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test542.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test543.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test543.java
deleted file mode 100644
index 6611060..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test543.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test550.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test550.java
deleted file mode 100644
index 24faa90..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test550.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test550 {
-
-	public void foo() {
-		int i= 0;
-		while(true) {
-			/*]*/i= extracted(i);/*[*/
-		}
-	}
-	protected int extracted(int i) {
-		i++;
-		return i;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test551.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test551.java
deleted file mode 100644
index 1b75637..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test551.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test551 {
-
-	public void foo() {
-		int i= 0;
-		do {
-			/*]*/i= extracted(i);/*[*/
-		} while (true);
-	}
-	protected int extracted(int i) {
-		i++;
-		return i;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test552.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test552.java
deleted file mode 100644
index d063b61..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test552.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test552 {
-
-	public void foo() {
-		int i= 0;
-		for (;true;) {
-			/*]*/i= extracted(i);/*[*/
-		}
-	}
-	protected int extracted(int i) {
-		i++;
-		return i;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test553.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test553.java
deleted file mode 100644
index 71900e6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test553.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test553 {
-
-	public void foo() {
-		int i= 0;
-		for (int x= i++, y= x;true;) {
-			/*]*/extracted(i);/*[*/
-		}
-	}
-	protected void extracted(int i) {
-		int x;
-		x= i;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test554.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test554.java
deleted file mode 100644
index 636d5cb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test554.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test554 {
-	public boolean flag;
-	public void foo() {
-		int x;
-		/*]*/extracted();/*[*/
-		x= 20;
-	}
-	protected void extracted() {
-		int x;
-		if (flag)
-			x= 10;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test555.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test555.java
deleted file mode 100644
index efd63dc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test555.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package locals_out;
-
-public class A_test555 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		while (true) {
-			for (int y= x; true; ) {
-				/*]*/x= extracted();/*[*/
-			}
-		}
-	}
-	protected int extracted() {
-		int x;
-		x= 20;
-		return x;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test556.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test556.java
deleted file mode 100644
index 1e21675..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test556.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package locals_out;
-
-public class A_test556 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		while (true) {
-			for (int y= 0; true; y= x) {
-				/*]*/x= extracted();/*[*/
-			}
-		}
-	}
-	protected int extracted() {
-		int x;
-		x= 20;
-		return x;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test557.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test557.java
deleted file mode 100644
index fbab902..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test557.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test557 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		for (int y= x; true;) {
-			/*]*/extracted();/*[*/
-		}
-	}
-	protected void extracted() {
-		int x;
-		x= 20;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test558.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test558.java
deleted file mode 100644
index 5f454a9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test558.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package locals_out;
-
-public class A_test558 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		for (int y= 0; (x= 20) < 10; y= x) {
-			/*]*/x= extracted();/*[*/
-		}
-	}
-	protected int extracted() {
-		int x;
-		x= 20;
-		return x;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test559.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test559.java
deleted file mode 100644
index f1c7e12..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test559.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package locals_out;
-
-public class A_test559 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		for (int y= 0; x < 10; x= 20) {
-			/*]*/extracted();/*[*/
-		}
-	}
-	protected void extracted() {
-		int x;
-		x= 20;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test560.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test560.java
deleted file mode 100644
index 1efc098..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test560.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package locals_out;
-
-public class A_test560 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		while (x < 10) {
-			/*]*/x= extracted();/*[*/
-		}
-	}
-	protected int extracted() {
-		int x;
-		x= 20;
-		return x;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test561.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test561.java
deleted file mode 100644
index c414941..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test561.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package locals_out;
-
-public class A_test561 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		do {
-			/*]*/x= extracted();/*[*/
-		} while (x < 10);
-	}
-	protected int extracted() {
-		int x;
-		x= 20;
-		return x;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test562.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test562.java
deleted file mode 100644
index 049304c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test562.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package locals_out;
-
-public class A_test562 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		do {
-			int y= x;
-			/*]*/x= extracted();/*[*/
-		} while (true);
-	}
-	protected int extracted() {
-		int x;
-		x= 20;
-		return x;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test563.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test563.java
deleted file mode 100644
index ae5283b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/locals_out/A_test563.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package locals_out;
-
-public class A_test563 {
-	public boolean flag;
-	public void foo() {
-		int x= 0;
-		do {
-			int y= x;
-			/*]*/extracted();/*[*/
-		} while ((x= 20) < 10);
-	}
-	protected void extracted() {
-		int x;
-		x= 20;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test650.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test650.java
deleted file mode 100644
index eaf31b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test650.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test651.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test651.java
deleted file mode 100644
index 718a8fe..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test651.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test652.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test652.java
deleted file mode 100644
index a2ab99f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test652.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test653.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test653.java
deleted file mode 100644
index 1fa5ed6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_in/A_test653.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test650.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test650.java
deleted file mode 100644
index 0eddaa4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test650.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test651.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test651.java
deleted file mode 100644
index bafdf44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test651.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test652.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test652.java
deleted file mode 100644
index dcf6dba..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test652.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test653.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test653.java
deleted file mode 100644
index cc015f8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/nested_out/A_test653.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test700.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test700.java
deleted file mode 100644
index 26d2a84..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test700.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test701.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test701.java
deleted file mode 100644
index cac3ed8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test701.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test702.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test702.java
deleted file mode 100644
index 2e2f87a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test702.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test703.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test703.java
deleted file mode 100644
index 5fccbe4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test703.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test704.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test704.java
deleted file mode 100644
index 42f59e5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test704.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test705.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test705.java
deleted file mode 100644
index e96830f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test705.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test706.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test706.java
deleted file mode 100644
index 1241430..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test706.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test707.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test707.java
deleted file mode 100644
index c3c6e3b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test707.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test708.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test708.java
deleted file mode 100644
index 9f3f02c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test708.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test709.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test709.java
deleted file mode 100644
index 6d4b073..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test709.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test710.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test710.java
deleted file mode 100644
index 0d11681..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test710.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test711.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test711.java
deleted file mode 100644
index 4453f0e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test711.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test712.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test712.java
deleted file mode 100644
index e254e9d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test712.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test713.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test713.java
deleted file mode 100644
index d865b40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test713.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package return_in;
-
-public class A_test713 {
-	public java.util.List foo() {
-		/*]*/return null;/*[*/
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test714.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test714.java
deleted file mode 100644
index d1f76ea..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test714.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package return_in;
-
-public class A_test714 {
-	public boolean foo() {
-		/*]*/boolean b= false;
-		foo();
-		return (b == true);/*[*/
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test715.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test715.java
deleted file mode 100644
index 75b882b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test715.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package return_in;
-
-public class A_test715 {
-	public interface I {
-		public boolean run();
-	}
-	public void foo() {
-		/*]*/bar (this, new I() {
-			public boolean run() {
-				return true;
-			}
-		});/*[*/
-	}
-	public void bar(A_test715 a, I i) {
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test716.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test716.java
deleted file mode 100644
index a3abd63..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test716.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package return_in;
-
-public class A_test716 {
-	public boolean flag;
-	public boolean foo() {
-		/*]*/if (flag)
-			return false;
-		else
-			throw new NullPointerException();/*[*/
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test717.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test717.java
deleted file mode 100644
index a8e311b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test717.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package return_in;
-
-public class A_test717 {
-	public boolean foo() {
-		int i= 0;
-		/*]*/switch(i) {
-			case 10:
-				return false;
-			default:
-				throw new NullPointerException();	
-		}/*[*/
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test718.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test718.java
deleted file mode 100644
index 2f7f795..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test718.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package return_in;
-
-public class A_test718 {
-	public boolean foo() {
-		int i= 0;
-		/*]*/switch(i) {
-			case 10:
-				throw new NullPointerException();	
-			default:
-				return false;
-		}/*[*/
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test719.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test719.java
deleted file mode 100644
index 330dd44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test719.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package return_in;
-public class A_test719 {
-	public boolean foo() {
-		/*]*/if (foo())
-			return true;
-		if (foo())
-			return true;
-		else
-			return false;/*[*/
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test720.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test720.java
deleted file mode 100644
index 12df2bc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_in/A_test720.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package return_in;
-
-public class A_test720 {
-	private boolean flag;
-	public boolean foo() {
-		if (flag) {
-			/*]*/try {
-				foo();
-			} catch(Exception e) {
-			}
-			return false;/*[*/
-		}
-		return true;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test700.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test700.java
deleted file mode 100644
index 6938b6a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test700.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test701.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test701.java
deleted file mode 100644
index e23005a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test701.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test702.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test702.java
deleted file mode 100644
index dc7d52a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test702.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test703.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test703.java
deleted file mode 100644
index d8a36ee..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test703.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test704.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test704.java
deleted file mode 100644
index f8cb035..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test704.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test705.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test705.java
deleted file mode 100644
index 7212fc3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test705.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test706.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test706.java
deleted file mode 100644
index 16a314f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test706.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test707.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test707.java
deleted file mode 100644
index fbb5de1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test707.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test708.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test708.java
deleted file mode 100644
index f65a19f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test708.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test709.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test709.java
deleted file mode 100644
index c50dd87..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test709.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test710.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test710.java
deleted file mode 100644
index c5788fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test710.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test711.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test711.java
deleted file mode 100644
index 90675a1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test711.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test712.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test712.java
deleted file mode 100644
index dc9f0e8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test712.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test713.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test713.java
deleted file mode 100644
index ac7449d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test713.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package return_out;
-
-public class A_test713 {
-	public java.util.List foo() {
-		/*]*/return extracted();/*[*/
-	}
-	protected java.util.List extracted() {
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test714.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test714.java
deleted file mode 100644
index af33d05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test714.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package return_out;
-
-public class A_test714 {
-	public boolean foo() {
-		/*]*/return extracted();/*[*/
-	}
-	protected boolean extracted() {
-		boolean b= false;
-		foo();
-		return (b == true);
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test715.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test715.java
deleted file mode 100644
index 992c424..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test715.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package return_out;
-
-public class A_test715 {
-	public interface I {
-		public boolean run();
-	}
-	public void foo() {
-		/*]*/extracted();/*[*/
-	}
-	protected void extracted() {
-		bar (this, new I() {
-			public boolean run() {
-				return true;
-			}
-		});
-	}
-	public void bar(A_test715 a, I i) {
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test716.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test716.java
deleted file mode 100644
index 33eec2d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test716.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package return_out;
-
-public class A_test716 {
-	public boolean flag;
-	public boolean foo() {
-		/*]*/return extracted();/*[*/
-	}
-	protected boolean extracted() {
-		if (flag)
-			return false;
-		else
-			throw new NullPointerException();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test717.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test717.java
deleted file mode 100644
index 4674cef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test717.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package return_out;
-
-public class A_test717 {
-	public boolean foo() {
-		int i= 0;
-		/*]*/return extracted(i);/*[*/
-	}
-	protected boolean extracted(int i) {
-		switch(i) {
-			case 10:
-				return false;
-			default:
-				throw new NullPointerException();	
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test718.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test718.java
deleted file mode 100644
index 76e7ccb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test718.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package return_out;
-
-public class A_test718 {
-	public boolean foo() {
-		int i= 0;
-		/*]*/return extracted(i);/*[*/
-	}
-	protected boolean extracted(int i) {
-		switch(i) {
-			case 10:
-				throw new NullPointerException();	
-			default:
-				return false;
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test719.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test719.java
deleted file mode 100644
index 53770d6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test719.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package return_out;
-public class A_test719 {
-	public boolean foo() {
-		/*]*/return extracted();/*[*/
-	}
-	protected boolean extracted() {
-		if (foo())
-			return true;
-		if (foo())
-			return true;
-		else
-			return false;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test720.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test720.java
deleted file mode 100644
index a8a8b43..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/return_out/A_test720.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package return_out;
-
-public class A_test720 {
-	private boolean flag;
-	public boolean foo() {
-		if (flag) {
-			/*]*/return extracted();/*[*/
-		}
-		return true;
-	}
-	protected boolean extracted() {
-		try {
-			foo();
-		} catch(Exception e) {
-		}
-		return false;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test1.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test1.java
deleted file mode 100644
index c12b372..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test1.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test1 {
-	public void foo() {
-		/*[*/foo()/*]*/;
-	}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test2.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test2.java
deleted file mode 100644
index 06787fa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test2.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test2 {
-	public void foo() {
-		/*[*/foo()/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test3.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test3.java
deleted file mode 100644
index b8e0567..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test3.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test3 {
-	public void foo() {
-		/*]*/foo()/*]*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test4.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test4.java
deleted file mode 100644
index 5f984e7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/selection/A_test4.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test4 {
-	public void foo() {
-		/*]*/foo()/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test400.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test400.java
deleted file mode 100644
index 4c4ed7a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test400.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package semicolon_in;
-
-public class A_test400 {
-	public void foo() {
-		/*[*/foo()/*]*/;
-	} 
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test401.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test401.java
deleted file mode 100644
index 341eb34..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test401.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package semicolon_in;
-
-public class A_test401 {
-	public void foo() {
-		/*]*/foo();/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test402.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test402.java
deleted file mode 100644
index 473d8d4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test402.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package semicolon_in;
-
-public class A_test402 {
-	public void foo() {
-		/*]*/{
-			foo();
-		}/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test403.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test403.java
deleted file mode 100644
index 495cf26..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test403.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package semicolon_in;
-
-public class A_test403 {
-	public void foo() {
-		/*[*/try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		}/*]*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test404.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test404.java
deleted file mode 100644
index 780203e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test404.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package semicolon_in;
-
-public class A_test404 {
-	public void foo() {
-		/*]*/int x= 0;/*[*/
-		x= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test405.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test405.java
deleted file mode 100644
index 9722cfe..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test405.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package semicolon_in;
-
-public class A_test405 {
-	public void foo() {
-		/*]*/int x= 0/*[*/;
-		x= 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test406.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test406.java
deleted file mode 100644
index ebb75ec..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test406.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package semicolon_in;
-
-public class A_test406 {
-	public void foo() {
-		if (/*]*/1 == 10/*[*/)
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test407.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test407.java
deleted file mode 100644
index b3f2e0f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test407.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package semicolon_in;
-
-public class A_test407 {
-	public void foo() {
-		boolean b;
-		b= /*]*/10 == 20/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test408.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test408.java
deleted file mode 100644
index bbeadf7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test408.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package semicolon_in;
-
-public class A_test408 {
-	public void foo() {
-		boolean b;
-		b= /*]*/10 == 20;/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test409.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test409.java
deleted file mode 100644
index 3c9eac2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test409.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package semicolon_in;
-
-public class A_test409 {
-	public void foo() {
-		/*]*/synchronized (this) {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test410.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test410.java
deleted file mode 100644
index f0dbcd0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_test410.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package semicolon_in;
-
-public class A_test410 {
-	public void foo() {
-		/*]*/switch (10) {
-			case 1:
-				foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_testx.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_testx.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_in/A_testx.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test400.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test400.java
deleted file mode 100644
index 3a54c30..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test400.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package semicolon_out;
-
-public class A_test400 {
-	public void foo() {
-		extracted();
-	}
-	protected void extracted() {
-		/*[*/foo()/*]*/;
-	} 
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test401.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test401.java
deleted file mode 100644
index 3ba0007..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test401.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package semicolon_out;
-
-public class A_test401 {
-	public void foo() {
-		/*]*/extracted();/*[*/
-	}
-	protected void extracted() {
-		foo();
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test402.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test402.java
deleted file mode 100644
index 15a20c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test402.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package semicolon_out;
-
-public class A_test402 {
-	public void foo() {
-		/*]*/extracted();/*[*/
-	}
-	protected void extracted() {
-		{
-			foo();
-		}
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test403.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test403.java
deleted file mode 100644
index e9c4005..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test403.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package semicolon_out;
-
-public class A_test403 {
-	public void foo() {
-		extracted();
-	}
-	protected void extracted() {
-		/*[*/try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		}/*]*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test404.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test404.java
deleted file mode 100644
index fe2a19f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test404.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package semicolon_out;
-
-public class A_test404 {
-	public void foo() {
-		/*]*/int x;
-		extracted();/*[*/
-		x= 10;
-	}
-	protected void extracted() {
-		int x= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test405.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test405.java
deleted file mode 100644
index 108739a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test405.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package semicolon_out;
-
-public class A_test405 {
-	public void foo() {
-		/*]*/int x;
-		extracted()/*[*/;
-		x= 10;
-	}
-	protected void extracted() {
-		int x= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test406.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test406.java
deleted file mode 100644
index 869f9a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test406.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package semicolon_out;
-
-public class A_test406 {
-	public void foo() {
-		if (/*]*/extracted()/*[*/)
-			foo();
-	}
-	protected boolean extracted() {
-		return 1 == 10;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test407.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test407.java
deleted file mode 100644
index 88e066a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test407.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package semicolon_out;
-
-public class A_test407 {
-	public void foo() {
-		boolean b;
-		b= /*]*/extracted()/*[*/;
-	}
-	protected boolean extracted() {
-		return 10 == 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test408.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test408.java
deleted file mode 100644
index af0298e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test408.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package semicolon_out;
-
-public class A_test408 {
-	public void foo() {
-		boolean b;
-		b= /*]*/extracted();/*[*/
-	}
-	protected boolean extracted() {
-		return 10 == 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test410.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test410.java
deleted file mode 100644
index 1d86ddf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_test410.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package semicolon_out;
-
-public class A_test410 {
-	public void foo() {
-		/*]*/extracted();/*[*/
-	}
-	protected void extracted() {
-		switch (10) {
-			case 1:
-				foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_testx.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_testx.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/semicolon_out/A_testx.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test450.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test450.java
deleted file mode 100644
index 6fff835..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test450.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test451.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test451.java
deleted file mode 100644
index e904187..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test451.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test452.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test452.java
deleted file mode 100644
index de7909d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test452.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test453.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test453.java
deleted file mode 100644
index 9dd89ca..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test453.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test454.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test454.java
deleted file mode 100644
index 78df7a4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test454.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test455.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test455.java
deleted file mode 100644
index 5c2e588..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test455.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test456.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test456.java
deleted file mode 100644
index e607163..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test456.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test457.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test457.java
deleted file mode 100644
index 1405690..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test457.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test458.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test458.java
deleted file mode 100644
index f621a6a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test458.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test459.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test459.java
deleted file mode 100644
index 817156f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_in/A_test459.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test450.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test450.java
deleted file mode 100644
index a25f94c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test450.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test451.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test451.java
deleted file mode 100644
index d3b4e55..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test451.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test452.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test452.java
deleted file mode 100644
index f5ddcfb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test452.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test453.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test453.java
deleted file mode 100644
index 1503def..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test453.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test454.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test454.java
deleted file mode 100644
index d61d313..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test454.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test455.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test455.java
deleted file mode 100644
index 402c0c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test455.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test456.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test456.java
deleted file mode 100644
index 598ce6f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test456.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test457.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test457.java
deleted file mode 100644
index 79a7db7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test457.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test458.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test458.java
deleted file mode 100644
index bca1eef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test458.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test459.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test459.java
deleted file mode 100644
index 0915116..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/try_out/A_test459.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test200.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test200.java
deleted file mode 100644
index 8d570be..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test200.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package validSelection;
-
-public class A_test200 {
-	public void foo() {
-		/*]*/foo();/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test201.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test201.java
deleted file mode 100644
index 62c304e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test201.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package validSelection;
-
-public class A_test201 {
-	public void foo() {/*[*/
-		foo();
-	/*]*/} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test202.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test202.java
deleted file mode 100644
index d8733ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test202.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test202 {
-	public void foo() {
-		/*]*/foo();
-		foo();/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test203.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test203.java
deleted file mode 100644
index 2edb220..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test203.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test203 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo();
-		foo();/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test230.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test230.java
deleted file mode 100644
index 3035340..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test230.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test230 {
-	public void foo() {
-		{/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test231.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test231.java
deleted file mode 100644
index 3d61594..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test231.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test231 {
-	public void foo() {
-		{
-			/*]*/foo()/*[*/;
-		}
-		{
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test232.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test232.java
deleted file mode 100644
index a3b5456..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test232.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test232 {
-	public void foo() {
-		/*]*/{
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test233.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test233.java
deleted file mode 100644
index 75b3868..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test233.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test233 {
-	public void foo() {
-		{
-			foo();
-		}
-		{
-			/*]*/foo()/*[*/;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test234.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test234.java
deleted file mode 100644
index 265b903..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test234.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test234 {
-	public void foo() {
-		{
-			foo();
-		}
-		{/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test235.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test235.java
deleted file mode 100644
index 876b188..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test235.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test235 {
-	public void foo() {
-		{/*[*/
-			foo();
-		/*]*/}
-		{
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test240.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test240.java
deleted file mode 100644
index 00c0091..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test240.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test240 {
-	public void foo() {/*[*/
-		for (int i= 0; i < 10; i++)
-			foo();
-	/*]*/}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test241.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test241.java
deleted file mode 100644
index b3bb0e2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test241.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test241 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo();/*[*/
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test242.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test242.java
deleted file mode 100644
index 29518a4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test242.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test242 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test243.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test243.java
deleted file mode 100644
index 082e61c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test243.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test243 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)/*[*/
-			foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test244.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test244.java
deleted file mode 100644
index 897ade3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test244.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test244 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test245.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test245.java
deleted file mode 100644
index af752d2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test245.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test245 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/foo();/*[*/
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test246.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test246.java
deleted file mode 100644
index 40a1cd1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test246.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test246 {
-	public void foo() {
-		for (int i= 0; i < 10; i++) {
-			/*]*/foo();/*[*/
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test247.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test247.java
deleted file mode 100644
index 4d5b6aa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test247.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test247 {
-	public void foo() {
-		for (int i= 10; i < 10; i++)/*[*/
-			for (int z= 10; z < 10; z++)
-				foo();
-		/*]*/foo();	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test248.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test248.java
deleted file mode 100644
index 5509aa2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test248.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test248 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			foo();
-			
-		/*]*/foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test249.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test249.java
deleted file mode 100644
index 9315dc8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test249.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test249 {
-	public void foo() {
-		/*]*/foo();/*[*/
-		
-		for (int i= 0; i < 10; i++)
-			foo();	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test250.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test250.java
deleted file mode 100644
index 18755cd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test250.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test250 {
-	public void foo() {
-		while(1 < 10)/*[*/
-			foo();
-	/*]*/}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test251.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test251.java
deleted file mode 100644
index c82df32..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test251.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test251 {
-	public void foo() {
-		/*]*/while(1 < 10)
-			foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test252.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test252.java
deleted file mode 100644
index 7358876..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test252.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test252 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())
-			while(b())/*[*/
-				foo();
-		/*]*/foo();		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test253.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test253.java
deleted file mode 100644
index dffc377..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test253.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test253 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())
-			/*]*/while(b())
-				foo();
-		/*]*/foo();		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test254.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test254.java
deleted file mode 100644
index 5eb1cc7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test254.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test254 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())
-			foo();
-			
-		/*]*/foo();/*[*/		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test255.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test255.java
deleted file mode 100644
index af3ef80..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test255.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test255 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		/*]*/foo();/*[*/
-		
-		while(b())
-			foo();	
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test260.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test260.java
deleted file mode 100644
index 31a00b7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test260.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test260 {
-	public void foo() {
-		/*]*/do
-			foo();
-		while(1 < 10);/*[*/	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test261.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test261.java
deleted file mode 100644
index 1ce96b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test261.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test261 {
-	public void foo() {
-		do /*[*/
-			foo();
-		/*]*/while(1 < 10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test262.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test262.java
deleted file mode 100644
index d6942a3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test262.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test262 {
-	public boolean fBoolean;
-	public void foo() {
-		do 
-			foo();
-		while(fBoolean);
-		
-		/*]*/foo()/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test263.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test263.java
deleted file mode 100644
index b628328..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test263.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test263 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/foo()/*[*/;
-		
-		do 
-			foo();
-		while(fBoolean);		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test270.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test270.java
deleted file mode 100644
index f9446bb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test270.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test270 {
-	public void foo() {
-		/*]*/switch(1) {
-			case 1:
-				foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test271.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test271.java
deleted file mode 100644
index d99c995..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test271.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test271 {
-	public void foo() {
-		switch(1) {
-			case 1:/*[*/
-				foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test272.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test272.java
deleted file mode 100644
index 0648fc5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test272.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test272 {
-	public void foo() {
-		switch(1) {
-			case 1:
-				foo();
-				/*]*/foo()/*[*/;
-				foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test273.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test273.java
deleted file mode 100644
index 191695b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test273.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test273 {
-	public void foo() {
-		switch(1) {
-			case 1:/*[*/
-				foo();
-			/*]*/case 2:
-				foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test274.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test274.java
deleted file mode 100644
index 93749cf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test274.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test274 {
-	public void foo() {
-		switch(1) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-		}
-		
-		/*]*/foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test275.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test275.java
deleted file mode 100644
index 3e5c359..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test275.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test275 {
-	public void foo() {
-		/*]*/foo();/*[*/
-		
-		switch(1) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-		}		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test280.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test280.java
deleted file mode 100644
index 33d1996..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test280.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test280 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		else
-			foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test281.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test281.java
deleted file mode 100644
index 7048e9e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test281.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test281 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			/*]*/foo()/*[*/;
-		else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test282.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test282.java
deleted file mode 100644
index 4bd8856..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test282.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test282 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)/*[*/
-			foo();
-		/*]*/else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test283.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test283.java
deleted file mode 100644
index 262306e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test283.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test283 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean) {
-		} else {
-			/*]*/foo();/*[*/
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test284.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test284.java
deleted file mode 100644
index ac651a6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test284.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test284 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			foo();
-			
-		if (fBoolean) {
-		} else {
-			/*]*/foo();/*[*/
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test285.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test285.java
deleted file mode 100644
index 43fa03e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test285.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test285 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			/*[*/foo();/*]*/
-			
-		if (fBoolean) {
-		} else {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test286.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test286.java
deleted file mode 100644
index 8de156e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test286.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test286 {
-	public boolean fBoolean;
-	public void foo() {
-		/*[*/foo();/*]*/	
-		if (fBoolean)
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test287.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test287.java
deleted file mode 100644
index bc5a019..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test287.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test287 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			foo();
-		/*[*/foo();/*]*/	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test300.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test300.java
deleted file mode 100644
index e95eda5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test300.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test300 {
-	public void foo() {
-		try {/*[*/
-			foo();
-		/*]*/} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test301.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test301.java
deleted file mode 100644
index 84b93a6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test301.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test301 {
-	public void foo() {
-		try {
-			/*]*/foo()/*[*/;
-		} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test302.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test302.java
deleted file mode 100644
index 5e0f55f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test302.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test302 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test303.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test303.java
deleted file mode 100644
index 003b7b5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test303.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test303 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			/*]*/foo()/*[*/;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test304.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test304.java
deleted file mode 100644
index 23cc5fb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test304.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package validSelection;
-
-public class A_test304 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		} catch (Throwable t) {
-			/*]*/foo();/*[*/
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test305.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test305.java
deleted file mode 100644
index aa531b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test305.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package validSelection;
-
-public class A_test305 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			/*]*/foo();/*[*/
-		} catch (Throwable t) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test306.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test306.java
deleted file mode 100644
index 45338ad..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test306.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package validSelection;
-
-public class A_test306 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		} catch (Error e) {
-			/*]*/foo();/*[*/
-		} catch (Throwable t) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test307.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test307.java
deleted file mode 100644
index 141a152..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test307.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test307 {
-	public void foo() {
-		try {
-			foo();
-		} finally {/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test308.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test308.java
deleted file mode 100644
index 5e598b3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test308.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test308 {
-	public void foo() {
-		try {
-			foo();
-		} finally {/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test309.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test309.java
deleted file mode 100644
index f0dc5b0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test309.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package validSelection;
-
-public class A_test309 {
-	public void foo() {
-		/*]*/try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		} finally {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test310.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test310.java
deleted file mode 100644
index cf121db..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test310.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test310 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		}
-		/*]*/foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test311.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test311.java
deleted file mode 100644
index 2a0c75c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test311.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test311 {
-	public void foo() {
-		/*]*/foo();/*[*/
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test350.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test350.java
deleted file mode 100644
index 69940c1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test350.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test351.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test351.java
deleted file mode 100644
index 758accd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test351.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test352.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test352.java
deleted file mode 100644
index acfd893..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test352.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test353.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test353.java
deleted file mode 100644
index f92ec2f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_test353.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_testx.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_testx.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/validSelection/A_testx.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2001.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2001.java
deleted file mode 100644
index 43a3da5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2001.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package wiki_in;
-
-public class A_test2001 {
-
-	int field= 0;
-
-	void fun() {
-		int i;
-		/*]*/
-		i= 0;
-		System.out.println("i, field == " + i++ +", " + field);
-		/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2002.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2002.java
deleted file mode 100644
index 0fea50f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2002.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package wiki_in;
-
-public class A_test2002 {
-
-	int field= 0;
-	void fun() {
-		int i= 0;
-		/*]*/
-		System.out.println("i, field == " + i++ +", " + field);
-		/*[*/
-		System.out.println("i == " + i);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2003.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2003.java
deleted file mode 100644
index 8ff0919..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2003.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package wiki_in;
-
-public class A_test2003 {
-
-	int field= 0;
-
-	void fun() {
-		int i= 0;
-		/*]*/
-		if (field == 1) {
-			i= 1;
-			System.out.println("i, field == " + i + ", " + field);
-		} else {
-			System.out.println("i, field == " + i + ", " + field);
-		}
-		/*[*/
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2004.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2004.java
deleted file mode 100644
index dd7be05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2004.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package wiki_in;
-
-public class A_test2004 {
-
-	int field= 0;
-
-	void fun() {
-		int i= 0;
-		while (field < 2) {
-			field++;
-			/*]*/
-			System.out.println("i, field == " + i++ +", " + field);
-			/*[*/
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2005.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2005.java
deleted file mode 100644
index 86422d3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_in/A_test2005.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package wiki_in;
-
-public class A_test2005 {
-
-	static void fun() throws ArithmeticException {
-	}
-
-	public static void main(String args[]) {
-		try {
-			/*]*/
-			fun();
-			/*[*/
-		} catch (Exception e) {
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2001.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2001.java
deleted file mode 100644
index 0de8089..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2001.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package wiki_out;
-
-public class A_test2001 {
-
-	int field= 0;
-
-	void fun() {
-		int i;
-		/*]*/extracted();/*[*/
-	}
-	protected void extracted() {
-		int i;
-		
-		i= 0;
-		System.out.println("i, field == " + i++ +", " + field);
-		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2002.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2002.java
deleted file mode 100644
index f0d5551..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2002.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package wiki_out;
-
-public class A_test2002 {
-
-	int field= 0;
-	void fun() {
-		int i= 0;
-		/*]*/i= extracted(i);/*[*/
-		System.out.println("i == " + i);
-	}
-	protected int extracted(int i) {
-		
-		System.out.println("i, field == " + i++ +", " + field);
-		
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2003.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2003.java
deleted file mode 100644
index a022324..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2003.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package wiki_out;
-
-public class A_test2003 {
-
-	int field= 0;
-
-	void fun() {
-		int i= 0;
-		/*]*/extracted(i);/*[*/
-	}
-
-	protected void extracted(int i) {
-		
-		if (field == 1) {
-			i= 1;
-			System.out.println("i, field == " + i + ", " + field);
-		} else {
-			System.out.println("i, field == " + i + ", " + field);
-		}
-		
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2004.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2004.java
deleted file mode 100644
index 9b74ce4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2004.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package wiki_out;
-
-public class A_test2004 {
-
-	int field= 0;
-
-	void fun() {
-		int i= 0;
-		while (field < 2) {
-			field++;
-			/*]*/i= extracted(i);/*[*/
-		}
-	}
-
-	protected int extracted(int i) {
-		
-		System.out.println("i, field == " + i++ +", " + field);
-		
-		return i;
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2005.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2005.java
deleted file mode 100644
index 484b75f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractMethodWorkSpace/ExtractMethodTests/wiki_out/A_test2005.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package wiki_out;
-
-public class A_test2005 {
-
-	static void fun() throws ArithmeticException {
-	}
-
-	public static void main(String args[]) {
-		try {
-			/*]*/extracted();/*[*/
-		} catch (Exception e) {
-		}
-	}
-
-	protected static void extracted() throws java.lang.ArithmeticException {
-		
-		fun();
-		
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/in/p/A.java
deleted file mode 100644
index cca28ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/in/p/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-public class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/in/p1/C.java
deleted file mode 100644
index a5a5829..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
- package p1;
- public class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/out/p1/A.java
deleted file mode 100644
index 06ecba3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/out/p1/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p1;
-import p.*;
-
-public class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/out/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/out/p1/C.java
deleted file mode 100644
index a5a5829..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test/out/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
- package p1;
- public class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/in/p/A.java
deleted file mode 100644
index cca28ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/in/p/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-public class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/in/p1/C.java
deleted file mode 100644
index a5a5829..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
- package p1;
- public class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/out/p1/A.java
deleted file mode 100644
index 8627e16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/out/p1/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p.*;
-public class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/out/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/out/p1/C.java
deleted file mode 100644
index a5a5829..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test0/out/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
- package p1;
- public class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p/A.java
deleted file mode 100644
index 012eaaf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class A{
-	B b;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p/B.java
deleted file mode 100644
index 53a36bc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-public class B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p1/C.java
deleted file mode 100644
index a5a5829..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
- package p1;
- public class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p/B.java
deleted file mode 100644
index 53a36bc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-public class B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p1/A.java
deleted file mode 100644
index 5ca3257..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p1/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p1;
-import p.*;
-public class A{
-	B b;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p1/C.java
deleted file mode 100644
index a5a5829..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test1/out/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
- package p1;
- public class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p/A.java
deleted file mode 100644
index 4eeb3fa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-public class A extends B{
-	void f(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p/B.java
deleted file mode 100644
index 778bef9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class B{
-	protected void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p/B.java
deleted file mode 100644
index 778bef9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class B{
-	protected void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p1/A.java
deleted file mode 100644
index b77596a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p1/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p1;
-import p.*;
-
-public class A extends B{
-	void f(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/test2/out/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail0/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail0/in/p/A.java
deleted file mode 100644
index 5014aac..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail0/in/p/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail0/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail0/in/p1/A.java
deleted file mode 100644
index e8654fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail0/in/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail1/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail1/in/p/A.java
deleted file mode 100644
index 5014aac..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail1/in/p/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail1/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail1/in/p1/A.java
deleted file mode 100644
index ba001cf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail1/in/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail2/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail2/in/p/A.java
deleted file mode 100644
index 4f09f36..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail2/in/p/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-	native void f();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail2/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail2/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail2/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail3/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail3/in/p/A.java
deleted file mode 100644
index fdbbe93..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail3/in/p/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-	class B{
-		native int t();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail3/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail3/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail3/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail4/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail4/in/p/A.java
deleted file mode 100644
index 24cbe4e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail4/in/p/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	public static void main(String[] args){
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail4/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail4/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail4/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail5/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail5/in/p/A.java
deleted file mode 100644
index 6ce65b1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail5/in/p/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class A{}
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail5/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail5/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail5/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p/A.java
deleted file mode 100644
index 5014aac..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p/B.java
deleted file mode 100644
index 6ba1e8d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class B extends A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail6/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p/A.java
deleted file mode 100644
index e065964..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class A extends B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p/B.java
deleted file mode 100644
index d110d65..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail7/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p/A.java
deleted file mode 100644
index 012eaaf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class A{
-	B b;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p/B.java
deleted file mode 100644
index 53a36bc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-public class B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p1/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p1/B.java
deleted file mode 100644
index 1447dde..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail8/in/p1/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
- package p1;
- public class B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p/A.java
deleted file mode 100644
index ae751e2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-public class A{
-	B b;
-	void f(){
-		b.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p/B.java
deleted file mode 100644
index 778bef9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class B{
-	protected void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p1/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p1/C.java
deleted file mode 100644
index eb88348..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MoveCU/testFail9/in/p1/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p1/A.java
deleted file mode 100644
index c289c87..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p1/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p1;
-import p2.C;
-public class A{
-	C c;
-	p2.C p2c;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p1/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p1/B.java
deleted file mode 100644
index deb429c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p1/B.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p1;
-import p2.C;
-public class B{
-	C c;
-	p2.C m(C C, A A){
-		return C;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p2/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p2/C.java
deleted file mode 100644
index 781f2ec..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/in/p2/C.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p2;
-import p1.A;
-import p1.*;
-import p1.B;
-public class C{
-	A a;
-	p1.A p1a;
-	B b;
-	p1.B p1B;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/A.java
deleted file mode 100644
index 10a4b76..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p2;
-import p2.C;
-import p1.*;
-public class A{
-	C c;
-	p2.C p2c;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/B.java
deleted file mode 100644
index 65e0508..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/B.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p2;
-import p2.C;
-import p1.*;
-public class B{
-	C c;
-	p2.C m(C C, A A){
-		return C;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/C.java
deleted file mode 100644
index 6505ee7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test0/out/p2/C.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p2;
-import p2.A;
-import p1.*;
-import p2.B;
-public class C{
-	A a;
-	p2.A p1a;
-	B b;
-	p2.B p1B;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p1/A.java
deleted file mode 100644
index c289c87..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p1/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p1;
-import p2.C;
-public class A{
-	C c;
-	p2.C p2c;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p2/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p2/C.java
deleted file mode 100644
index effed37..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p2/C.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p2;
-import p1.A;
-import p1.*;
-import p3.B;
-public class C{
-	A a;
-	p1.A p1a;
-	B b;
-	p3.B p3B;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p3/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p3/B.java
deleted file mode 100644
index ae324cb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/in/p3/B.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p3;
-import p2.C;
-public class B{
-	C c;
-	p2.C m(C C, p1.A A){
-		return C;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/A.java
deleted file mode 100644
index 10a4b76..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p2;
-import p2.C;
-import p1.*;
-public class A{
-	C c;
-	p2.C p2c;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/B.java
deleted file mode 100644
index 64f187b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/B.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p2;
-import p2.C;
-import p3.*;
-public class B{
-	C c;
-	p2.C m(C C, p2.A A){
-		return C;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/C.java
deleted file mode 100644
index 2b3e519..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test1/out/p2/C.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p2;
-import p2.A;
-import p1.*;
-import p2.B;
-public class C{
-	A a;
-	p2.A p1a;
-	B b;
-	p2.B p3B;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p1/A.java
deleted file mode 100644
index 8203d86..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p1/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p1;
-import p2.C;
-public class A{
-	C c;
-	B b;
-	p1.B p1B;
-	p2.C p2c;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p1/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p1/B.java
deleted file mode 100644
index 8bdc298..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p1/B.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p1;
-import p2.C;
-public class B{
-	C c;
-	p1.A p1A;
-	p2.C m(C C, A A){
-		return C;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p2/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p2/C.java
deleted file mode 100644
index 781f2ec..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/in/p2/C.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p2;
-import p1.A;
-import p1.*;
-import p1.B;
-public class C{
-	A a;
-	p1.A p1a;
-	B b;
-	p1.B p1B;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p1/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p1/B.java
deleted file mode 100644
index f2f6446..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p1/B.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p1;
-import p2.C;
-import p2.*;
-public class B{
-	C c;
-	p2.A p1A;
-	p2.C m(C C, A A){
-		return C;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p2/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p2/A.java
deleted file mode 100644
index eccb1a5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p2/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p2;
-import p2.C;
-import p1.*;
-public class A{
-	C c;
-	B b;
-	p1.B p1B;
-	p2.C p2c;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p2/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p2/C.java
deleted file mode 100644
index 2ec81f4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/MultiMove/test2/out/p2/C.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p2;
-import p2.A;
-import p1.*;
-import p1.B;
-public class C{
-	A a;
-	p2.A p1a;
-	B b;
-	p1.B p1B;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test0/in/A.java
deleted file mode 100644
index b350409..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test0/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-class A{
-	public void m(){};
-} 
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test0/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test0/out/A.java
deleted file mode 100644
index fcfc86f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test0/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-class A{
-	public void m(){};
-} 
-interface I {
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test1/in/A.java
deleted file mode 100644
index 1ef6f4d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test1/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-class A implements I{
-	public void m(){};
-} 
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test1/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test1/out/A.java
deleted file mode 100644
index e34858d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test1/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-class A implements I{
-	public void k(){};
-} 
-interface I {
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test10/in/A.java
deleted file mode 100644
index 4880ef7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test10/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-interface I{
-void m();
-}
-interface I2 extends I{
-}
-interface I3 extends I2{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test10/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test10/out/A.java
deleted file mode 100644
index bdfa91e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test10/out/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-interface I{
-void k();
-}
-interface I2 extends I{
-}
-interface I3 extends I2{
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test11/in/A.java
deleted file mode 100644
index 275bd81..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test11/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-interface I2{
-void m();
-}
-interface I3 extends I, I2{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test11/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test11/out/A.java
deleted file mode 100644
index 9c5c52b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test11/out/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-interface I2{
-void k();
-}
-interface I3 extends I, I2{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test12/in/A.java
deleted file mode 100644
index fb2dbbf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test12/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-interface I2{
-void m();
-}
-interface I3 extends I, I2{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test12/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test12/out/A.java
deleted file mode 100644
index 70a291f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test12/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-interface I2{
-void k();
-}
-interface I3 extends I, I2{
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test14/in/A.java
deleted file mode 100644
index 6440b68..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test14/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void m();
-}
-interface I1 extends I{
-}
-interface I2 extends I1{
-	void m();
-
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test14/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test14/out/A.java
deleted file mode 100644
index 3cd2392..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test14/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void k();
-}
-interface I1 extends I{
-}
-interface I2 extends I1{
-	void k();
-
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test15/in/A.java
deleted file mode 100644
index a32d285..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test15/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void m();
-}
-interface J{
-	void m();
-}
-interface I1 extends I{
-}
-interface J1 extends J{
-}
-interface I2 extends I1, J1{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test15/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test15/out/A.java
deleted file mode 100644
index 25c1a19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test15/out/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void k();
-}
-interface J{
-	void k();
-}
-interface I1 extends I{
-}
-interface J1 extends J{
-}
-interface I2 extends I1, J1{
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test16/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test16/in/A.java
deleted file mode 100644
index 32d0d0d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test16/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void m();
-}
-interface J{
-	void m();
-}
-class C implements I, J{
-	public void m(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test16/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test16/out/A.java
deleted file mode 100644
index a98d2fe..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test16/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void k();
-}
-interface J{
-	void k();
-}
-class C implements I, J{
-	public void k(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test17/in/A.java
deleted file mode 100644
index d8b4757..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test17/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void m();
-}
-interface J{
-	void m();
-}
-class A{
-	public void m(){};
-}
-class C extends A implements I, J{
-	public void m(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test17/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test17/out/A.java
deleted file mode 100644
index dc8dc48..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test17/out/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-	void k();
-}
-interface J{
-	void k();
-}
-class A{
-	public void k(){};
-}
-class C extends A implements I, J{
-	public void k(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test18/in/A.java
deleted file mode 100644
index 75b5aa0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test18/in/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void m();
-}
-interface J{
-	void m();
-}
-interface J2 extends J{
-	void m();
-}
-
-class A{
-	public void m(){}
-}
-class C extends A implements I, J{
-	public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test18/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test18/out/A.java
deleted file mode 100644
index 7f42185..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test18/out/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void k();
-}
-interface J{
-	void k();
-}
-interface J2 extends J{
-	void k();
-}
-
-class A{
-	public void k(){}
-}
-class C extends A implements I, J{
-	public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test19/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test19/in/A.java
deleted file mode 100644
index 057ee69..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test19/in/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void m();
-}
-interface J{
-	void m();
-}
-interface J2 extends J{
-	void m();
-}
-
-class A{
-	private void m(){}
-}
-class C extends A implements I, J{
-	public void m(){}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test19/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test19/out/A.java
deleted file mode 100644
index fca3cb3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test19/out/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void k();
-}
-interface J{
-	void k();
-}
-interface J2 extends J{
-	void k();
-}
-
-class A{
-	private void m(){}
-}
-class C extends A implements I, J{
-	public void k(){}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test2/in/A.java
deleted file mode 100644
index 0211b7e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test2/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming I.m to k
-package p;
-class A implements I{
-	public void m(){};
-	public void m(int y){};
-} 
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test2/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test2/out/A.java
deleted file mode 100644
index 806e8b1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test2/out/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming I.m to k
-package p;
-class A implements I{
-	public void k(){};
-	public void m(int y){};
-} 
-interface I {
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test20/in/A.java
deleted file mode 100644
index 4606b91..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test20/in/A.java
+++ /dev/null
@@ -1,17 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void m();
-}
-interface J{
-	void m();
-}
-interface J2 extends J{
-	void m();
-}
-
-class A{
-	public void m(){}
-}
-class C extends A implements I, J{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test20/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test20/out/A.java
deleted file mode 100644
index 0179740..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test20/out/A.java
+++ /dev/null
@@ -1,17 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void k();
-}
-interface J{
-	void k();
-}
-interface J2 extends J{
-	void k();
-}
-
-class A{
-	public void k(){}
-}
-class C extends A implements I, J{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test21/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test21/in/A.java
deleted file mode 100644
index 6637d92..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test21/in/A.java
+++ /dev/null
@@ -1,39 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void m();
-}
-interface J{
-	void m();
-}
-interface J2 extends J{
-	void m();
-}
-
-class A{
-	public void m(){};
-}
-class C extends A implements I, J{
-	public void m(){};
-}
-class Test{
-	void k(){
-		I i= new C();
-		i.m();
-		I ii= new I(){
-			public void m(){}
-		};
-		ii.m();
-		J j= new C();
-		j.m();
-		J jj= new J(){
-			public void m(){}
-		};
-		jj.m();
-		A a= new C();
-		((I)a).m();
-		((J)a).m();
-		((C)a).m();
-		a.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test21/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test21/out/A.java
deleted file mode 100644
index d8ecabe..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test21/out/A.java
+++ /dev/null
@@ -1,39 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void k();
-}
-interface J{
-	void k();
-}
-interface J2 extends J{
-	void k();
-}
-
-class A{
-	public void k(){};
-}
-class C extends A implements I, J{
-	public void k(){};
-}
-class Test{
-	void k(){
-		I i= new C();
-		i.k();
-		I ii= new I(){
-			public void k(){}
-		};
-		ii.k();
-		J j= new C();
-		j.k();
-		J jj= new J(){
-			public void k(){}
-		};
-		jj.k();
-		A a= new C();
-		((I)a).k();
-		((J)a).k();
-		((C)a).k();
-		a.k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test22/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test22/in/A.java
deleted file mode 100644
index bb8601f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test22/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-interface I{
-void m();
-}
-interface I2{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test22/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test22/out/A.java
deleted file mode 100644
index 9da5d69..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test22/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-interface I{
-void k();
-}
-interface I2{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test24/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test24/in/A.java
deleted file mode 100644
index 27496f9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test24/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-interface J{
-}
-interface I extends J{
-void m();
-}
-interface I1 extends J{
-void m();
-}
-interface K extends I, I1{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test24/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test24/out/A.java
deleted file mode 100644
index 0a0a465..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test24/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-interface J{
-}
-interface I extends J{
-void k();
-}
-interface I1 extends J{
-void k();
-}
-interface K extends I, I1{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test25/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test25/in/A.java
deleted file mode 100644
index ccef3b0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test25/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-interface J{
-}
-interface I extends J{
-void m();
-}
-interface I1 extends J{
-void m();
-}
-class C implements I, I1{
-public void m(){}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test25/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test25/out/A.java
deleted file mode 100644
index a27964f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test25/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-interface J{
-}
-interface I extends J{
-void k();
-}
-interface I1 extends J{
-void k();
-}
-class C implements I, I1{
-public void k(){}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test26/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test26/in/A.java
deleted file mode 100644
index 6b63346..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test26/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-interface I{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test26/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test26/out/A.java
deleted file mode 100644
index d3b3476..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test26/out/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-interface I{
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test27/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test27/in/A.java
deleted file mode 100644
index 9752fe0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test27/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-interface I{
-void m();
-}
-class A{
-public void m(){};
-}
-class B1 extends A{
-public void m(){};
-}
-class B2 extends A implements I{
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test27/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test27/out/A.java
deleted file mode 100644
index b3b2478..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test27/out/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-interface I{
-void k();
-}
-class A{
-public void k(){};
-}
-class B1 extends A{
-public void k(){};
-}
-class B2 extends A implements I{
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test28/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test28/in/A.java
deleted file mode 100644
index 82ab659..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test28/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-interface I{
-void m();
-}
-class A{
-public void m(){};
-}
-class B1 extends A implements J{
-}
-class B2 extends A implements I{
-}
-interface J{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test28/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test28/out/A.java
deleted file mode 100644
index 9104fdc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test28/out/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-interface I{
-void k();
-}
-class A{
-public void k(){};
-}
-class B1 extends A implements J{
-}
-class B2 extends A implements I{
-}
-interface J{
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test29/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test29/in/A.java
deleted file mode 100644
index e1fd825..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test29/in/A.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package p;
-interface I{
-void m();
-}
-class A{
-public void m(){};
-}
-class B1 extends A implements J{
-}
-class B2 extends A implements I{
-}
-interface J{
-void m();
-}
-class C implements J{
-public void m(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test29/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test29/out/A.java
deleted file mode 100644
index c9b5575..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test29/out/A.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package p;
-interface I{
-void k();
-}
-class A{
-public void k(){};
-}
-class B1 extends A implements J{
-}
-class B2 extends A implements I{
-}
-interface J{
-void k();
-}
-class C implements J{
-public void k(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test3/in/A.java
deleted file mode 100644
index 4dcd03a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test3/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming I.m to k
-package p;
-class B {
-	public void m(){};
-} 
-class A extends B implements I{
-} 
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test3/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test3/out/A.java
deleted file mode 100644
index 240933e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test3/out/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming I.m to k
-package p;
-class B {
-	public void k(){};
-} 
-class A extends B implements I{
-} 
-interface I {
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test30/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test30/in/A.java
deleted file mode 100644
index bfa4f7f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test30/in/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-interface I{
-void m();
-}
-class A implements I, J{
-public void m(){};
-}
-interface J{
-void m();
-}
-class B implements J, K{
-public void m(){};
-}
-interface K{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test30/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test30/out/A.java
deleted file mode 100644
index 5f224c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test30/out/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-interface I{
-void k();
-}
-class A implements I, J{
-public void k(){};
-}
-interface J{
-void k();
-}
-class B implements J, K{
-public void k(){};
-}
-interface K{
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test31/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test31/in/A.java
deleted file mode 100644
index 0786e6f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test31/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-interface I{
-void m();
-}
-class T{
-	void m(){
-		class X implements I{
-			public void m(){}
-		};
-		X x= new X();
-		x.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test31/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test31/out/A.java
deleted file mode 100644
index 6730892..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test31/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-interface I{
-void k();
-}
-class T{
-	void m(){
-		class X implements I{
-			public void k(){}
-		};
-		X x= new X();
-		x.k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test32/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test32/in/A.java
deleted file mode 100644
index 4f67f9b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test32/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-interface I{
-void m();
-}
-class T implements I{
-	public void m(){
-		class X implements I{
-			public void m(){}
-		};
-		X x= new X();
-		x.m();
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test32/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test32/out/A.java
deleted file mode 100644
index c1f58ed..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test32/out/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-interface I{
-void k();
-}
-class T implements I{
-	public void k(){
-		class X implements I{
-			public void k(){}
-		};
-		X x= new X();
-		x.k();
-		k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test33/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test33/in/A.java
deleted file mode 100644
index 2aedcc3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test33/in/A.java
+++ /dev/null
@@ -1,23 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-class A1 implements I, I1{
-public void m(){}
-}
-interface I1{
-void m();
-}
-class A2 implements I1, I2{
-public void m(){}
-}
-interface I2{
-void m();
-}
-class A3 implements I3, I2{
-public void m(){}
-}
-interface I3{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test33/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test33/out/A.java
deleted file mode 100644
index 1facb63..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test33/out/A.java
+++ /dev/null
@@ -1,23 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-class A1 implements I, I1{
-public void k(){}
-}
-interface I1{
-void k();
-}
-class A2 implements I1, I2{
-public void k(){}
-}
-interface I2{
-void k();
-}
-class A3 implements I3, I2{
-public void k(){}
-}
-interface I3{
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test34/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test34/in/A.java
deleted file mode 100644
index 255c6b9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test34/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-
-class A1 implements I{
-public void m(){}
-}
-interface I1{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test34/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test34/out/A.java
deleted file mode 100644
index 4b8563e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test34/out/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-
-class A1 implements I{
-public void k(){}
-}
-interface I1{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test35/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test35/in/A.java
deleted file mode 100644
index 0b18234..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test35/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-interface I2{
-void m();
-}
-interface I3 extends I, I2{
-}
-class A implements I3{
-public void m(){}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test35/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test35/out/A.java
deleted file mode 100644
index fcbe37b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test35/out/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-interface I2{
-void k();
-}
-interface I3 extends I, I2{
-}
-class A implements I3{
-public void k(){}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test36/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test36/in/A.java
deleted file mode 100644
index 70cb32c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test36/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-interface I2{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test36/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test36/out/A.java
deleted file mode 100644
index d8a8fe0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test36/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-interface I2{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test37/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test37/in/A.java
deleted file mode 100644
index 51f4eb7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test37/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-interface I2{
-void m();
-}
-interface I3 extends I{
-}
-interface I4 extends I3, I2{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test37/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test37/out/A.java
deleted file mode 100644
index 1feeb67..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test37/out/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-interface I2{
-void k();
-}
-interface I3 extends I{
-}
-interface I4 extends I3, I2{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test38/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test38/in/A.java
deleted file mode 100644
index 5f67be9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test38/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-class A{
-public void m(){}
-}
-class B1 extends A implements I{
-}
-class B2 extends A {
-public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test38/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test38/out/A.java
deleted file mode 100644
index 7ab2e0d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test38/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-class A{
-public void k(){}
-}
-class B1 extends A implements I{
-}
-class B2 extends A {
-public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test39/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test39/in/A.java
deleted file mode 100644
index 51f4eb7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test39/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void m();
-}
-interface I2{
-void m();
-}
-interface I3 extends I{
-}
-interface I4 extends I3, I2{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test39/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test39/out/A.java
deleted file mode 100644
index 1feeb67..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test39/out/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I{
-void k();
-}
-interface I2{
-void k();
-}
-interface I3 extends I{
-}
-interface I4 extends I3, I2{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test4/in/A.java
deleted file mode 100644
index 70d4d12..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test4/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-class B {
-	public void m(){};
-} 
-class A extends B implements I{
-	public void m(){};
-}
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test4/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test4/out/A.java
deleted file mode 100644
index e6bd3c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test4/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-class B {
-	public void k(){};
-} 
-class A extends B implements I{
-	public void k(){};
-}
-interface I {
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test40/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test40/in/A.java
deleted file mode 100644
index 6ac8b0e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test40/in/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-//renaming I.m to k
-interface I{
-	void m();
-}
-interface I2{
-	void m();
-}
-class A{
-}
-class B extends A implements I{
-public void m(){}
-}
-class C extends A implements I2{
-public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test40/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test40/out/A.java
deleted file mode 100644
index 546a461..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test40/out/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-//renaming I.m to k
-interface I{
-	void k();
-}
-interface I2{
-	void m();
-}
-class A{
-}
-class B extends A implements I{
-public void k(){}
-}
-class C extends A implements I2{
-public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test41/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test41/in/A.java
deleted file mode 100644
index 941088d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test41/in/A.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package p;
-//renaming I.m to k
-interface I{
-	void m();
-}
-interface I2{
-	void m();
-	void k();
-	
-}
-class A{
-}
-class B extends A implements I{
-public void m(){}
-}
-class C extends A implements I2{
-public void m(){}
-public void k(){}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test41/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test41/out/A.java
deleted file mode 100644
index 83eaff0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test41/out/A.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package p;
-//renaming I.m to k
-interface I{
-	void k();
-}
-interface I2{
-	void m();
-	void k();
-	
-}
-class A{
-}
-class B extends A implements I{
-public void k(){}
-}
-class C extends A implements I2{
-public void m(){}
-public void k(){}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test42/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test42/in/A.java
deleted file mode 100644
index 1215395..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test42/in/A.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package p;
-//renaming I.m to k
-interface I{
-	void m();
-}
-interface I2{
-	void m();
-}
-class A{
-public void m(){}
-}
-class B extends A implements I{
-public void m(){}
-}
-class C extends A implements I2{
-public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test42/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test42/out/A.java
deleted file mode 100644
index c0a9e5b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test42/out/A.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package p;
-//renaming I.m to k
-interface I{
-	void k();
-}
-interface I2{
-	void k();
-}
-class A{
-public void k(){}
-}
-class B extends A implements I{
-public void k(){}
-}
-class C extends A implements I2{
-public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test43/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test43/in/A.java
deleted file mode 100644
index c210562..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test43/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void m();
-}
-class Test{
-	void k(){
-	}
-}
-class C implements I{
-	public void m(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test43/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test43/out/A.java
deleted file mode 100644
index 3945ff4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test43/out/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void k();
-}
-class Test{
-	void k(){
-	}
-}
-class C implements I{
-	public void k(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test44/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test44/in/A.java
deleted file mode 100644
index df5f328..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test44/in/A.java
+++ /dev/null
@@ -1,23 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void m();
-}
-interface J{
-	void m();
-}
-interface J2 extends J{
-	void m();
-}
-
-class A{
-	public void m(){};
-}
-class C extends A implements I, J{
-	public void m(){};
-}
-class Test{
-	void k(){
-	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test44/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test44/out/A.java
deleted file mode 100644
index 3032211..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test44/out/A.java
+++ /dev/null
@@ -1,23 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void k();
-}
-interface J{
-	void k();
-}
-interface J2 extends J{
-	void k();
-}
-
-class A{
-	public void k(){};
-}
-class C extends A implements I, J{
-	public void k(){};
-}
-class Test{
-	void k(){
-	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test45/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test45/in/A.java
deleted file mode 100644
index 27ca176..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test45/in/A.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package p;
-//renaming I.m to k
-interface I {
-void m();
-}
-class C1 implements I{
-	public void m(){};
-}
-class D{
-	void h(){
-		I a= new C1();
-		a.m();
-	}
-}
-class NotRel{
-	public void m(){};
-	void f(){
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test45/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test45/out/A.java
deleted file mode 100644
index af2fc07..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test45/out/A.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package p;
-//renaming I.m to k
-interface I {
-void k();
-}
-class C1 implements I{
-	public void k(){};
-}
-class D{
-	void h(){
-		I a= new C1();
-		a.k();
-	}
-}
-class NotRel{
-	public void m(){};
-	void f(){
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test46/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test46/in/A.java
deleted file mode 100644
index c21e729..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test46/in/A.java
+++ /dev/null
@@ -1,21 +0,0 @@
-//nor ref update
-package p;
-//renaming I.m to k
-interface I {
-void m();
-}
-class C1 implements I{
-	public void m(){};
-}
-class D{
-	void h(){
-		I a= new C1();
-		a.m();
-	}
-}
-class NotRel{
-	public void m(){};
-	void f(){
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test46/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test46/out/A.java
deleted file mode 100644
index a6285d0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test46/out/A.java
+++ /dev/null
@@ -1,21 +0,0 @@
-//nor ref update
-package p;
-//renaming I.m to k
-interface I {
-void k();
-}
-class C1 implements I{
-	public void m(){};
-}
-class D{
-	void h(){
-		I a= new C1();
-		a.m();
-	}
-}
-class NotRel{
-	public void m(){};
-	void f(){
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test47/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test47/in/A.java
deleted file mode 100644
index 2c113e2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test47/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-//renaming I.m to k
-interface I {
-	void m();
-}
-class AQ implements I{
-	public void m(){}
-}
-
-class AQE extends AQ{
-	public void m(){
-		super.m();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test47/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test47/out/A.java
deleted file mode 100644
index 123757e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test47/out/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-//renaming I.m to k
-interface I {
-	void k();
-}
-class AQ implements I{
-	public void k(){}
-}
-
-class AQE extends AQ{
-	public void k(){
-		super.k();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test5/in/A.java
deleted file mode 100644
index b85dfa1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test5/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-class B implements I{
-	public void m(){};
-} 
-class A extends B{
-	public void m(){};
-}
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test5/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test5/out/A.java
deleted file mode 100644
index 360aac9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test5/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-class B implements I{
-	public void k(){};
-} 
-class A extends B{
-	public void k(){};
-}
-interface I {
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test6/in/A.java
deleted file mode 100644
index 67da87a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test6/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-class B implements I{
-	public void m(){};
-} 
-class A extends B implements I{
-	public void m(){};
-}
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test6/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test6/out/A.java
deleted file mode 100644
index a75f6bd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test6/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming I.m to k
-package p;
-class B implements I{
-	public void k(){};
-} 
-class A extends B implements I{
-	public void k(){};
-}
-interface I {
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test7/in/A.java
deleted file mode 100644
index 116b6bf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test7/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void m();
-}
-interface I2 extends I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test7/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test7/out/A.java
deleted file mode 100644
index fb57224..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/test7/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-interface I {
-	void k();
-}
-interface I2 extends I{
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail0/in/A.java
deleted file mode 100644
index c3d2d6b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail0/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-	void m();
-}
-class C implements I{
-	public void m(){}
-	public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail1/in/A.java
deleted file mode 100644
index 7d763a1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail1/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-	void m();
-	void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail10/in/A.java
deleted file mode 100644
index 9c9d766..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail10/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//renaming I.m would require renaming a native method
-class A implements I{
-	public void m(){}
-}
-class B extends A{
-	public native void m();
-}
-interface I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail11/in/A.java
deleted file mode 100644
index ae2f635..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail11/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//can't rename I.m to k - defined in subclass
-class A implements I{
-	public void m(){}
-}
-class B extends A{
-	public private void k(){}
-}
-interface I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail12/in/A.java
deleted file mode 100644
index 824918a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail12/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A implements I{
-	public void m(){}
-}
-class B extends A{
-	public void k(){}
-}
-interface I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail13/in/A.java
deleted file mode 100644
index 0ee357b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail13/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A implements I{
-	public void m(){
-	}
-}
-class B extends A{
-	static void k(){
-	}
-}
-interface I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail14/in/A.java
deleted file mode 100644
index 3e0eeed..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail14/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A implements I{
-	public void m(){
-	}
-}
-class B extends A{
-	private static void k(){
-	}
-}
-interface I{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail15/in/A.java
deleted file mode 100644
index b921f19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail15/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//can't rename A.m to k - defined in superclass
-class B {
-	void k(){
-	}
-}
-class A extends B implements I{
-	public void m(){
-	}
-}
-interface I{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail16/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail16/in/A.java
deleted file mode 100644
index 2ad70f1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail16/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//can't rename A.m to k - defined in superclass
-class B {
-	static void k(){
-	}
-}
-class A extends B implements I{
-	public void m(){
-	}
-}
-interface I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail17/in/A.java
deleted file mode 100644
index c4a3e84..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail17/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//can't rename A.m to k - defined in superclass
-class B {
-	void k(){
-	}
-}
-class A extends B implements I{
-	public void m(){
-	}
-}
-interface I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail18/in/A.java
deleted file mode 100644
index 1eddcad..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail18/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-//can't rename I.m to k - duplicate
-interface I {
-	void m();
-}
-class B implements I{
-	public void m(){}
-	private int k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail19/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail19/in/A.java
deleted file mode 100644
index 3b7102c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail19/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename A.m to k - duplicate
-class A implements I{
-	static void k(){}
-	public void m(){
-	}
-}
-interface I{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail20/in/A.java
deleted file mode 100644
index e19b316..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail20/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//can't rename A.m - declared in superclass
-class B {
-	public native void m();
-}
-class A extends B implements I{
-	public void m(){}
-}
-interface I{
-	void m();
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail21/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail21/in/A.java
deleted file mode 100644
index 3d78d9c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail21/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//can't rename A.m to k
-package p;
-public class A implements I{
-	public void m(String m){
-		System.out.println("A");
-	}
-}
-class B extends A{
-	public void k(Object m){
-		System.out.println("B");
-	}
-}
-interface I{
-void m(String k);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail22/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail22/in/A.java
deleted file mode 100644
index f295f57..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail22/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//can't rename A.m to k
-package p;
-public class A implements I{
-	public void m(Object m){
-		System.out.println("A");
-	}
-}
-class B extends A{
-	public void k(String m){
-		System.out.println("B");
-	}
-}
-interface I{
-void m(Object s);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail23/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail23/in/A.java
deleted file mode 100644
index 32b8728..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail23/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-interface I{
-	String toString();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail24/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail24/in/A.java
deleted file mode 100644
index 694796b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail24/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//can't rename I.m to k
-class B{
-	public void k(){}
-}
-class A extends B implements I{
-	public void m(){}
-}
-interface I{
-	abstract void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail25/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail25/in/A.java
deleted file mode 100644
index 05bcab4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail25/in/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-void m();
-}
-class A{
-public void m(){};
-}
-class B1 extends A implements J{
-		public void k(){}
-}
-class B2 extends A implements I{
-
-}
-interface J{
-void m();
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail26/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail26/in/A.java
deleted file mode 100644
index 0e4124e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail26/in/A.java
+++ /dev/null
@@ -1,19 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-void m();
-}
-class A{
-public void m(){};
-}
-class B1 extends A implements J{
-}
-class B2 extends A implements I{
-}
-interface J{
-void m();
-}
-class C implements J{
-public void m(){};
-public void k(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail27/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail27/in/A.java
deleted file mode 100644
index 7d8be81..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail27/in/A.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package p;
-interface I{
-void m();
-}
-class A implements I, J{
-public void m(){};
-}
-interface J{
-void m();
-}
-class B implements J, K{
-public void m(){};
-public void k(){};
-
-}
-interface K{
-void m();
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail28/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail28/in/A.java
deleted file mode 100644
index 4975fe7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail28/in/A.java
+++ /dev/null
@@ -1,25 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-void m();
-}
-class A1 implements I, I1{
-public void m(){}
-}
-interface I1{
-void m();
-}
-class A2 implements I1, I2{
-public void m(){}
-}
-interface I2{
-void m();
-}
-class A3 implements I3, I2{
-public void m(){}
-public void k(){}
-}
-interface I3{
-void m();
-void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail29/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail29/in/A.java
deleted file mode 100644
index 0832d75..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail29/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-void m();
-}
-class A{
-public void m(){}
-}
-class B1 extends A implements I{
-}
-class B2 extends A {
-public void m(){}
-public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail3/in/A.java
deleted file mode 100644
index 0dd7ffe..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail3/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-	void m();
-}
-class C implements I{
-	public void m();
-	public void k();
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail30/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail30/in/A.java
deleted file mode 100644
index 9be82b8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail30/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//can't rename A.toString
-package p;
-interface I{
-	public java.lang.String toString();
-}
-class A implements I{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail31/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail31/in/A.java
deleted file mode 100644
index f77d7bd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail31/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//can't rename A.toString
-package p;
-interface I{
-	public String toString();
-}
-class A implements I{
-	public java.lang.String toString();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail32/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail32/in/A.java
deleted file mode 100644
index 266de81..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail32/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to toString
-//see the spec: 9.2
-package p;
-interface I{
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail33/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail33/in/A.java
deleted file mode 100644
index 7f62c76..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail33/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to toString
-//see the spec: 9.2
-package p;
-interface I{
-	String m() throws Exception;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail34/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail34/in/A.java
deleted file mode 100644
index acdbe6a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail34/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to equals
-//see the lang spec: 9.2
-package p;
-interface I{
-	void m(Object o);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail35/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail35/in/A.java
deleted file mode 100644
index 49acc1a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail35/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to equals
-//see the lang spec: 9.2
-package p;
-interface I{
-	void m(java.lang.Object o);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail36/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail36/in/A.java
deleted file mode 100644
index 66c4eb3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail36/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to getClass
-//see the lang spec: 9.2
-package p;
-interface I{
-	int m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail37/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail37/in/A.java
deleted file mode 100644
index 85bfa66..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail37/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to hashCode
-//see the lang spec: 9.2
-package p;
-interface I{
-	String m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail38/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail38/in/A.java
deleted file mode 100644
index 95dfb37..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail38/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to notify
-//see the lang spec: 9.2
-package p;
-interface I{
-	String m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail39/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail39/in/A.java
deleted file mode 100644
index 41a77fa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail39/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to notifyAll
-//see the lang spec: 9.2
-package p;
-interface I{
-	String m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail4/in/A.java
deleted file mode 100644
index eaeb936..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail4/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-	void m();
-}
-class C1 {
-	public void k(){}
-}
-class C2 extends C1 implements I{
-	public void m(){}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail40/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail40/in/A.java
deleted file mode 100644
index 4a86f82..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail40/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to wait
-//see the lang spec: 9.2
-package p;
-interface I{
-	String m(long timeout, int nanos);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail41/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail41/in/A.java
deleted file mode 100644
index 4a022be..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail41/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to wait
-//see the lang spec: 9.2
-package p;
-interface I{
-	String m(long timeout) throws InterruptedException;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail42/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail42/in/A.java
deleted file mode 100644
index d9c9ece..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail42/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to wait
-//see the lang spec: 9.2
-package p;
-interface I{
-	String m() throws InterruptedException;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail43/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail43/in/A.java
deleted file mode 100644
index 0b159e6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail43/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//can't rename m to wait
-//see the lang spec: 9.2
-package p;
-interface I{
-	String m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail44/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail44/in/A.java
deleted file mode 100644
index 0a21f10..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail44/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming I.m to k
-package p;
-interface I extends I2{
-void m();
-}
-interface I2{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail45/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail45/in/A.java
deleted file mode 100644
index 57d503f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail45/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-interface J{
-void m();
-}
-interface I extends J{
-void m();
-}
-interface I1 extends J{
-void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail5/in/A.java
deleted file mode 100644
index ab81c78..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail5/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-	void m();
-}
-class C1 {
-	static void k(){}
-}
-class C2 extends C1 implements I{
-	public void m(){}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail6/in/A.java
deleted file mode 100644
index 5e1ee21..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail6/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//can't rename I.m to k
-package p;
-interface I{
-	void m();
-}
-class C1 {
-	static void k(){}
-}
-abstract class C2 extends C1 implements I{
-	abstract public void m();
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail7/in/A.java
deleted file mode 100644
index 623d316..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail7/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//can't rename I.m to k
-abstract class B{
-	abstract void k();
-}
-class A extends B implements I{
-	public void m(){}
-}
-interface I{
-	public void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail8/in/A.java
deleted file mode 100644
index b0e2291..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail8/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//can't rename I.m to k
-class B{
-	public void k(int x){}
-}
-class A extends B implements I{
-	public void m(int f){}
-}
-interface I{
-	public void m(int y);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail9/in/A.java
deleted file mode 100644
index 25017e0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameMethodInInterface/testFail9/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//can't rename m to k
-class C {
-	public void k(){}
-}
-class B extends C{
-}
-class A extends B implements I{
-	public void m(){}
-}
-interface I{
-	public void m();
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test0/in/A.java
deleted file mode 100644
index ee6b737..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test0/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-	int f;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test0/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test0/out/A.java
deleted file mode 100644
index 539e442..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test0/out/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-	int g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test1/in/A.java
deleted file mode 100644
index f31ed22..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test1/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-	protected int f;
-	void m(){
-		f++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test1/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test1/out/A.java
deleted file mode 100644
index b31f55f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test1/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-	protected int g;
-	void m(){
-		g++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test10/in/A.java
deleted file mode 100644
index 47d015c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test10/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A{
-	public A f;
-	public int k;
-	void m(){
-		for (int g= 0; g < 10; g++){
-		
-		}
-		f.k=0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test10/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test10/out/A.java
deleted file mode 100644
index 9701909..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test10/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A{
-	public A g;
-	public int k;
-	void m(){
-		for (int g= 0; g < 10; g++){
-		
-		}
-		g.k=0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test11/in/A.java
deleted file mode 100644
index 212d616..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test11/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	int f;
-}
-class B extends A{
-	A a;
-	void m(){
-		int g= a.f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test11/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test11/out/A.java
deleted file mode 100644
index 4c6d120..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test11/out/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	int g;
-}
-class B extends A{
-	A a;
-	void m(){
-		int g= a.g;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test12/in/A.java
deleted file mode 100644
index cedb240..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test12/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-public class A {
-	static int f= 0;
-	void m(){
-		A.f= 0; /**/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test12/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test12/out/A.java
deleted file mode 100644
index b62dcc2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test12/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-public class A {
-	static int g= 0;
-	void m(){
-		A.g= 0; /**/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test13/in/A.java
deleted file mode 100644
index b2ef453..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test13/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-public class A {
-	static int f= 0;
-	void m(){
-		p.A.f= 0; /**/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test13/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test13/out/A.java
deleted file mode 100644
index 83bd4f7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test13/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-public class A {
-	static int g= 0;
-	void m(){
-		p.A.g= 0; /**/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test14/in/A.java
deleted file mode 100644
index 0fe2457..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test14/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//no ref update
-package p;
-public class A {
-	static int f= 0;
-	void m(){
-		p.A.f= 0; /**/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test14/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test14/out/A.java
deleted file mode 100644
index 309aa0e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test14/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//no ref update
-package p;
-public class A {
-	static int g= 0;
-	void m(){
-		p.A.f= 0; /**/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test15/in/A.java
deleted file mode 100644
index aa68794..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test15/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//no ref update
-package p;
-public class A {
-	public int f= 0;
-	void m(){
-		f= 0; /**/
-	}
-}
-class B{
-	void m(){
-		new A().f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test15/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test15/out/A.java
deleted file mode 100644
index 20f65e0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test15/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//no ref update
-package p;
-public class A {
-	public int g= 0;
-	void m(){
-		f= 0; /**/
-	}
-}
-class B{
-	void m(){
-		new A().f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test2/in/A.java
deleted file mode 100644
index ff87d50..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test2/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-interface A{
-	int f= 0;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test2/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test2/out/A.java
deleted file mode 100644
index c083c1b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test2/out/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-interface A{
-	int g= 0;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test3/in/A.java
deleted file mode 100644
index d084396..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test3/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-class A{
-	protected int f;
-	void m(){
-		f++;
-	}
-}
-class B{
-	A a;
-	void m(){
-		a.f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test3/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test3/out/A.java
deleted file mode 100644
index 2f10e94..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test3/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-class A{
-	protected int g;
-	void m(){
-		g++;
-	}
-}
-class B{
-	A a;
-	void m(){
-		a.g= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test4/in/A.java
deleted file mode 100644
index 96cfc37..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test4/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A{
-	protected int f;
-	void m(){
-		f++;
-	}
-}
-class B extends A{
-	void m(){
-		f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test4/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test4/out/A.java
deleted file mode 100644
index 700b2f6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test4/out/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A{
-	protected int g;
-	void m(){
-		g++;
-	}
-}
-class B extends A{
-	void m(){
-		g= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test5/in/A.java
deleted file mode 100644
index f6469d5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test5/in/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package p;
-class A{
-	protected int f;
-	void m(){
-		f++;
-	}
-}
-
-class AA extends A{
-	protected int f;
-}
-
-class B{
-	A a;
-	void m(){
-		a.f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test5/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test5/out/A.java
deleted file mode 100644
index 51818fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test5/out/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package p;
-class A{
-	protected int g;
-	void m(){
-		g++;
-	}
-}
-
-class AA extends A{
-	protected int f;
-}
-
-class B{
-	A a;
-	void m(){
-		a.g= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test6/in/A.java
deleted file mode 100644
index 9b56315..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test6/in/A.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package p;
-class A{
-	protected int f;
-	void m(){
-		f++;
-	}
-}
-
-class AA extends A{
-	protected int f;
-}
-
-class B{
-	A a;
-	AA b;
-	A ab= new AA();
-	void m(){
-		a.f= 0;
-		b.f= 0;
-		ab.f= 0;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test6/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test6/out/A.java
deleted file mode 100644
index d730014..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test6/out/A.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package p;
-class A{
-	protected int g;
-	void m(){
-		g++;
-	}
-}
-
-class AA extends A{
-	protected int f;
-}
-
-class B{
-	A a;
-	AA b;
-	A ab= new AA();
-	void m(){
-		a.g= 0;
-		b.f= 0;
-		ab.g= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test7/in/A.java
deleted file mode 100644
index 7553eba..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test7/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A {
-	int f;
-	void m(int g){
-		this.f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test7/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test7/out/A.java
deleted file mode 100644
index d332730..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test7/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A {
-	int g;
-	void m(int g){
-		this.g= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test8/in/A.java
deleted file mode 100644
index 97e3a36..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test8/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	public A f;
-	public int k;
-	void m(){
-		f.f.f.k=0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test8/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test8/out/A.java
deleted file mode 100644
index 83a958b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test8/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	public A g;
-	public int k;
-	void m(){
-		g.g.g.k=0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test9/in/A.java
deleted file mode 100644
index 5c15dcf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test9/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A{
-	public A f;
-	public int k;
-	void m(){
-		{
-			int g;
-		}
-		f.k=0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test9/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test9/out/A.java
deleted file mode 100644
index 92d20b8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/test9/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A{
-	public A g;
-	public int k;
-	void m(){
-		{
-			int g;
-		}
-		g.k=0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail0/in/A.java
deleted file mode 100644
index 039339c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail0/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	int f;
-	private int g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail1/in/A.java
deleted file mode 100644
index 282d63c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail1/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	public int f;
-	public String g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail10/in/A.java
deleted file mode 100644
index b1131d3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail10/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	public A f;
-	public int k;
-	void m(){
-		for (int g= 0; g < 10; g++){
-			f.k=0;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail11/in/A.java
deleted file mode 100644
index b263907..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail11/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-class A{
-	int f;
-	void m(){
-		{
-				int g;
-			{
-				{
-					int y= f + 0;
-				}
-			}
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail12/in/A.java
deleted file mode 100644
index 36c9d0d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail12/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-	int f;
-	void m(){
-		int g= f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail13/in/A.java
deleted file mode 100644
index b2eb79d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail13/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	int f;
-}
-class B extends A{
-	A a;
-	void m(){
-		int g= f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail14/in/A.java
deleted file mode 100644
index e09468d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail14/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A{
-	int f;
-}
-class B extends A{
-	A a;
-	int m(){
-		int g;
-		return f;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail2/in/A.java
deleted file mode 100644
index 42161ad..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail2/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	int f;
-	public static int g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail3/in/A.java
deleted file mode 100644
index a887ae1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail3/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	protected int f;
-	private static int g;	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail4/in/A.java
deleted file mode 100644
index e2e3c00..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail4/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	public static int f;
-	public Object g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail5/in/A.java
deleted file mode 100644
index 731bb0e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail5/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class B {
-	int g;
-	class A {
-		final int f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail6/in/A.java
deleted file mode 100644
index 2efe7c7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail6/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A {
-	private int f;
-	class B {
-		public int g;
-	}
-}	
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail7/in/A.java
deleted file mode 100644
index 0ebc1c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail7/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A {
-	int f;
-	void m(int g){
-		f= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail8/in/A.java
deleted file mode 100644
index f841ee0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail8/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	int f;
-	void m(){
-		Object g;
-		f++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail9/in/A.java
deleted file mode 100644
index 58b9cd4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameNonPrivateField/testFail9/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-	public A f;
-	public int k;
-	void m(){
-		A g;
-		f.f.f.k=0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test0/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test0/in/r/A.java
deleted file mode 100644
index 96dae97..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test0/in/r/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test0/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test0/out/p1/A.java
deleted file mode 100644
index e8654fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test0/out/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test1/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test1/in/r/A.java
deleted file mode 100644
index 362ea30..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test1/in/r/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package r;
-class A{
-	r.A a;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test1/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test1/out/p1/A.java
deleted file mode 100644
index b0933c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test1/out/p1/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p1;
-class A{
-	p1.A a;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/in/fred/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/in/fred/A.java
deleted file mode 100644
index 4e91e5a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/in/fred/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package fred;
-import r.*;
-class A{
-	r.A a;
-	A a1;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/in/r/A.java
deleted file mode 100644
index 5833a58..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/in/r/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package r;
-public class A{
-	r.A a;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/out/fred/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/out/fred/A.java
deleted file mode 100644
index 2fbde2b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/out/fred/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package fred;
-import p1.*;
-class A{
-	p1.A a;
-	A a1;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/out/p1/A.java
deleted file mode 100644
index e4cf018..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test2/out/p1/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p1;
-public class A{
-	p1.A a;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/in/fred/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/in/fred/A.java
deleted file mode 100644
index bb332c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/in/fred/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package fred;
-import r.r.*;
-class A{
-	r.r.B a;
-	A a1;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/in/r/r/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/in/r/r/B.java
deleted file mode 100644
index 8620e84..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/in/r/r/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package r.r;
-public class B{
-	r.r.B a;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/out/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/out/r/A.java
deleted file mode 100644
index bbc81b5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/out/r/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package r;
-import r.r.*;
-class A{
-	r.r.B a;
-	A a1;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/out/r/r/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/out/r/r/B.java
deleted file mode 100644
index 8620e84..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test3/out/r/r/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package r.r;
-public class B{
-	r.r.B a;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/in/r/A.java
deleted file mode 100644
index ebb7363..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/in/r/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/in/r/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/in/r/p1/A.java
deleted file mode 100644
index 2878942..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/in/r/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r.p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/out/q/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/out/q/A.java
deleted file mode 100644
index 5fbbe5c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/out/q/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package q;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/out/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/out/r/A.java
deleted file mode 100644
index ebb7363..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test4/out/r/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test5/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test5/in/r/A.java
deleted file mode 100644
index 9307b7e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test5/in/r/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//no ref update
-package r;
-class A{
-	r.A d;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test5/out/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test5/out/p1/A.java
deleted file mode 100644
index 4860a3f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/test5/out/p1/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//no ref update
-package p1;
-class A{
-	r.A d;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail0/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail0/in/r/A.java
deleted file mode 100644
index 96dae97..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail0/in/r/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail1/in/r/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail1/in/r/p1/A.java
deleted file mode 100644
index 2878942..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail1/in/r/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r.p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail10/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail10/in/r/A.java
deleted file mode 100644
index ebb7363..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail10/in/r/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail10/in/r/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail10/in/r/p1/A.java
deleted file mode 100644
index 2878942..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail10/in/r/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r.p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail11/in/q/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail11/in/q/A.java
deleted file mode 100644
index ebb7363..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail11/in/q/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r;
-class C{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail11/in/q/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail11/in/q/p1/A.java
deleted file mode 100644
index 2878942..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail11/in/q/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r.p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail2/in/r/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail2/in/r/p1/A.java
deleted file mode 100644
index 2878942..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail2/in/r/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package r.p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail3/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail3/in/r/A.java
deleted file mode 100644
index 2cf2cac..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail3/in/r/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package r;
-class A{
-	native void f();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail4/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail4/in/r/A.java
deleted file mode 100644
index ac8b4bb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail4/in/r/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package r;
-class A{
-	class B{
-		native void f();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail5/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail5/in/r/A.java
deleted file mode 100644
index e2601f0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail5/in/r/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package r;
-public class A{
-	public class B{
-		public static void main(String[] args){
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail6/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail6/in/r/A.java
deleted file mode 100644
index 09f2187..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail6/in/r/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package r;
-class A{
-	public static void main(String[] args){
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail7/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail7/in/p1/A.java
deleted file mode 100644
index b6a96e7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail7/in/p1/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p1;
-class B{
-	void m(AA fred){
-		r.A.length();
-	}
-}
-class AA{
-	static String A;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail7/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail7/in/r/A.java
deleted file mode 100644
index 323bb3f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail7/in/r/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package r;
-public class A{
-	public static int length(){return 42;};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail8/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail8/in/p1/A.java
deleted file mode 100644
index e561724..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail8/in/p1/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p1;
-import r.*;
-class B{
-	void m(){
-		r.A a;
-	}
-}
-class fred{
-	class A{};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail8/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail8/in/r/A.java
deleted file mode 100644
index 5ce5e47..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail8/in/r/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package r;
-public class A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail9/in/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail9/in/p1/A.java
deleted file mode 100644
index 2c4fd17..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail9/in/p1/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p1;
-class B{
-	native void m(p.A a);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail9/in/r/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail9/in/r/A.java
deleted file mode 100644
index 5ce5e47..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePackage/testFail9/in/r/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package r;
-public class A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_in.java
deleted file mode 100644
index 0519ecb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_in.java
+++ /dev/null
@@ -1 +0,0 @@
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_out.java
deleted file mode 100644
index 0519ecb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_out.java
+++ /dev/null
@@ -1 +0,0 @@
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test0_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test0_in.java
deleted file mode 100644
index f99f456..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test0_in.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int i){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test0_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test0_out.java
deleted file mode 100644
index a595b24..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test0_out.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int j){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test10_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test10_in.java
deleted file mode 100644
index 35d3439..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test10_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	native void m(int i);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test10_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test10_out.java
deleted file mode 100644
index 58f2f20..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test10_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	native void m(int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test11_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test11_in.java
deleted file mode 100644
index eab99a3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test11_in.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//rename to j
-package p;
-class A{
-	int k;
-	void m(int i){
-		A a= new A(){
-			void m(int i){
-				i++;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test11_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test11_out.java
deleted file mode 100644
index 4dc6467..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test11_out.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//rename to j
-package p;
-class A{
-	int k;
-	void m(int j){
-		A a= new A(){
-			void m(int i){
-				i++;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test12_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test12_in.java
deleted file mode 100644
index ea84baf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test12_in.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//rename to j
-package p;
-class A{
-	void m(final int i){
-		A a= new A(){
-			void m(int k){
-				k= i;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test12_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test12_out.java
deleted file mode 100644
index f2afa2b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test12_out.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//rename to j
-package p;
-class A{
-	void m(final int j){
-		A a= new A(){
-			void m(int k){
-				k= j;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test13_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test13_in.java
deleted file mode 100644
index 8682f8a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test13_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int i){
-	}
-	void n(int i){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test13_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test13_out.java
deleted file mode 100644
index a706f40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test13_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int j){
-	}
-	void n(int i){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test14_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test14_in.java
deleted file mode 100644
index 7ee39c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test14_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	A i;
-	A m(A i){
-		return i.m(i.m(this.i));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test14_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test14_out.java
deleted file mode 100644
index f9d9ef3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test14_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	A i;
-	A m(A j){
-		return j.m(j.m(this.i));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test15_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test15_in.java
deleted file mode 100644
index 4f56552..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test15_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j, i
-package p;
-class A{
-	int m(int i, int j){
-		return i + j;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test15_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test15_out.java
deleted file mode 100644
index 14f918d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test15_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j, i
-package p;
-class A{
-	int m(int j, int i){
-		return j + i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test16_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test16_in.java
deleted file mode 100644
index b3a0098..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test16_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int i){
-		class X{
-			int j;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test16_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test16_out.java
deleted file mode 100644
index f14f73b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test16_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int j){
-		class X{
-			int j;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test17_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test17_in.java
deleted file mode 100644
index ed8c347..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test17_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j, i, k
-package p;
-class A{
-	int l;
-	int m(int i, int j, int k){
-		int m= 0;
-		return i + j + k + l + m;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test17_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test17_out.java
deleted file mode 100644
index 93d3e70..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test17_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j, i, k
-package p;
-class A{
-	int l;
-	int m(int j, int i, int k){
-		int m= 0;
-		return j + i + k + l + m;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test18_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test18_in.java
deleted file mode 100644
index 3e13887..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test18_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(Object i){
-		class j{}
-		i= new j();
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test18_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test18_out.java
deleted file mode 100644
index ffd9994..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test18_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(Object j){
-		class j{}
-		j= new j();
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test19_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test19_in.java
deleted file mode 100644
index 657fe9e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test19_in.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	A i;
-	void m(A i){
-		i.toString();
-		i.equals(i.toString());
-		i.i.i= i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test19_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test19_out.java
deleted file mode 100644
index 263cd01..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test19_out.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	A i;
-	void m(A j){
-		j.toString();
-		j.equals(j.toString());
-		j.i.i= j;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test1_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test1_in.java
deleted file mode 100644
index 10079c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test1_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int i){
-		i++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test1_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test1_out.java
deleted file mode 100644
index dedcb99..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test1_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int j){
-		j++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test20_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test20_in.java
deleted file mode 100644
index 10d3162..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test20_in.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	Object m(i i){
-		i.i.i= i.i;
-		i:{
-			while(true){
-				break i;
-			}
-		}
-		return i;
-	};
-}
-class i{
-	i i;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test20_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test20_out.java
deleted file mode 100644
index d12c537..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test20_out.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	Object m(i j){
-		j.i.i= j.i;
-		i:{
-			while(true){
-				break i;
-			}
-		}
-		return j;
-	};
-}
-class i{
-	i i;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test21_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test21_in.java
deleted file mode 100644
index 7ed06f6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test21_in.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int i){
-		A[] o= new A[8];
-		int[] ii= new int[i];
-		for (; i == i;){
-			i++;
-			ii[++i]= i ==7 ? i: i + i;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test21_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test21_out.java
deleted file mode 100644
index 378d1d5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test21_out.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int j){
-		A[] o= new A[8];
-		int[] ii= new int[j];
-		for (; j == j;){
-			j++;
-			ii[++j]= j ==7 ? j: j + j;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test22_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test22_in.java
deleted file mode 100644
index 3358054..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test22_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int i){
-		int u= i + this.i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test22_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test22_out.java
deleted file mode 100644
index b6bb716..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test22_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int j){
-		int u= j + this.i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test23_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test23_in.java
deleted file mode 100644
index 8a8dec2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test23_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j, i
-package p;
-class A{
-	int j;
-	int m(final int i, int j){
-		return i + j;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test23_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test23_out.java
deleted file mode 100644
index b6a9dd0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test23_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j, i
-package p;
-class A{
-	int j;
-	int m(final int j, int i){
-		return j + i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test24_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test24_in.java
deleted file mode 100644
index 1fa6d29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test24_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int i){
-		this.i= i;
-	};
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test24_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test24_out.java
deleted file mode 100644
index a2134c9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test24_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int j){
-		this.i= j;
-	};
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test25_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test25_in.java
deleted file mode 100644
index 368e29e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test25_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int i){
-		return i + m(m(i));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test25_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test25_out.java
deleted file mode 100644
index 4ade063..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test25_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int j){
-		return j + m(m(j));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test26_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test26_in.java
deleted file mode 100644
index 415fcdd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test26_in.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int i){
-		new A(){
-			int m(int i){
-				return i;
-			}
-		};
-		return i + m(m(i));
-	};
-}   
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test26_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test26_out.java
deleted file mode 100644
index 7ca75e0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test26_out.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int j){
-		new A(){
-			int m(int i){
-				return i;
-			}
-		};
-		return j + m(m(j));
-	};
-}   
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test27_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test27_in.java
deleted file mode 100644
index bece931..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test27_in.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(final int i){
-		new A(){
-			int m(int o){
-				return i;
-			}
-		};
-		return i + m(m(i));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test27_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test27_out.java
deleted file mode 100644
index c25cf40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test27_out.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(final int j){
-		new A(){
-			int m(int o){
-				return j;
-			}
-		};
-		return j + m(m(j));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test28_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test28_in.java
deleted file mode 100644
index fcebf0e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test28_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int m(int[] i){
-		i[0]= 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test28_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test28_out.java
deleted file mode 100644
index bf2b184..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test28_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int m(int[] j){
-		j[0]= 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test29_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test29_in.java
deleted file mode 100644
index 69716a4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test29_in.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to b
-package p;
-class A{
-   A A;
-   A m(A A){
-     A:
-        for (;;){
-          if (A.m(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test29_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test29_out.java
deleted file mode 100644
index bcd70c1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test29_out.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to b
-package p;
-class A{
-   A A;
-   A m(A b){
-     A:
-        for (;;){
-          if (b.m(b)==b)
-             break A;
-        }
-      return b;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test2_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test2_in.java
deleted file mode 100644
index 3ce000b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test2_in.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j, k
-package p;
-class A{
-	void m(int i, int k){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test2_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test2_out.java
deleted file mode 100644
index 2e49b16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test2_out.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j, k
-package p;
-class A{
-	void m(int j, int k){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test30_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test30_in.java
deleted file mode 100644
index e4ad09f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test30_in.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to i, k
-package p;
-class A{
-	private void m(final int i, int j){
-		class J{
-			int k;
-			void k(){
-				k= k;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test30_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test30_out.java
deleted file mode 100644
index 9ee3399..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test30_out.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to i, k
-package p;
-class A{
-	private void m(final int i, int k){
-		class J{
-			int k;
-			void k(){
-				k= k;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test31_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test31_in.java
deleted file mode 100644
index a4e0e9e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test31_in.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to kk, j
-package p;
-class A{
-	private void m(final int i, int j){
-		new Object(){
-			int kk;
-			void fred(){
-				kk= 0;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test31_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test31_out.java
deleted file mode 100644
index 8f95274..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test31_out.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to kk, j
-package p;
-class A{
-	private void m(final int kk, int j){
-		new Object(){
-			int kk;
-			void fred(){
-				kk= 0;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test32_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test32_in.java
deleted file mode 100644
index 275aaf9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test32_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	A(int i){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test32_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test32_out.java
deleted file mode 100644
index 5516e0b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test32_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	A(int j){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test33_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test33_in.java
deleted file mode 100644
index 9fffecf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test33_in.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to b, no ref update
-package p;
-class A{
-   A A;
-   A m(A A){
-     A:
-        for (;;){
-          if (A.m(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test33_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test33_out.java
deleted file mode 100644
index 33fdb83..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test33_out.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to b, no ref update
-package p;
-class A{
-   A A;
-   A m(A b){
-     A:
-        for (;;){
-          if (A.m(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test3_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test3_in.java
deleted file mode 100644
index 7676ba8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test3_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//rename to: j, j1
-package p;
-class A{
-	int m(int i, int k){
-		{
-			return i + k;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test3_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test3_out.java
deleted file mode 100644
index d1f6340..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test3_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//rename to: j, j1
-package p;
-class A{
-	int m(int j, int j1){
-		{
-			return j + j1;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test4_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test4_in.java
deleted file mode 100644
index f607274..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test4_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int k;
-	void m(A i){
-		i.k= i.k;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test4_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test4_out.java
deleted file mode 100644
index 4e4b4c4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test4_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int k;
-	void m(A k){
-		k.k= k.k;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test5_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test5_in.java
deleted file mode 100644
index 99ea05e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test5_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int i;
-	void m(int i){
-		this.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test5_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test5_out.java
deleted file mode 100644
index b4d2054..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test5_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int i;
-	void m(int k){
-		this.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test6_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test6_in.java
deleted file mode 100644
index efa9a84..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test6_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to k
-package p;
-class A{
-	void m(int i){
-		m(i);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test6_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test6_out.java
deleted file mode 100644
index 4dc489d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test6_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to k
-package p;
-class A{
-	void m(int k){
-		m(k);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test7_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test7_in.java
deleted file mode 100644
index 66d473e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test7_in.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//rename to k
-package p;
-class B{
-	int i;
-}
-class A extends B{
-	void m(A i){
-		super.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test7_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test7_out.java
deleted file mode 100644
index 22e4796..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test7_out.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//rename to k
-package p;
-class B{
-	int i;
-}
-class A extends B{
-	void m(A k){
-		super.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test8_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test8_in.java
deleted file mode 100644
index e458281..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test8_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-abstract class A{
-	abstract void m(int i);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test8_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test8_out.java
deleted file mode 100644
index c7cc090..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test8_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-abstract class A{
-	abstract void m(int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test9_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test9_in.java
deleted file mode 100644
index 181663e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test9_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-interface A{
-	void m(int i);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test9_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test9_out.java
deleted file mode 100644
index 39e113f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/canRename/A_test9_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-interface A{
-	void m(int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail0.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail0.java
deleted file mode 100644
index 65d173b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail0.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(final int i){
-		class X{
-			int j;
-			void m(){
-				j= i;
-			}
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail1.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail1.java
deleted file mode 100644
index 4347583..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail1.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//nothing to rename
-package p;
-class A{
-	void m(){
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail10.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail10.java
deleted file mode 100644
index 536d555..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail10.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//cannot rename to: j, j
-package p;
-abstract class A{
-	abstract void m(int i, int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail11.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail11.java
deleted file mode 100644
index 275aadd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail11.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//cannot rename to: j, j
-package p;
-interface A{
-	 void m(int i, int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail12.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail12.java
deleted file mode 100644
index 6327219..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail12.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to j
-package p;
-class A{
-	void m(final int i){
-		A a= new A(){
-			void m(int j){
-				i++;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail13.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail13.java
deleted file mode 100644
index 14ecb4c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail13.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//cannot rename to j
-package p;
-class A{
-	int j;
-	void m(int i){
-		j= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail14.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail14.java
deleted file mode 100644
index 78a687f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail14.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to j
-package p;
-class A{
-	int k;
-	static class j{
-		static int k;
-	}
-	void m(A i){
-		j.k= 0;
-	}
-}	
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail15.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail15.java
deleted file mode 100644
index 259c6a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail15.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(int i){
-		for (int j= 0; j < 10; j++){
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail16.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail16.java
deleted file mode 100644
index dc723dc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail16.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(int i){
-		for (int k= 0, j= 0;;) {
-		}
-		
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail17.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail17.java
deleted file mode 100644
index 7b7cb27..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail17.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(int i){
-		try{
-			m(1);
-		}
-		catch (Throwable j){
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail18.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail18.java
deleted file mode 100644
index 64c7495..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail18.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	String j;
-	void m(int i){
-		j.toString();	
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail19.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail19.java
deleted file mode 100644
index ea734b3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail19.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//cannot rename to: j
-package p;
-class B{
-	int j;
-}
-class A extends B{
-	void m(int i){
-		j= 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail2.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail2.java
deleted file mode 100644
index 258a47d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail2.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//cannot rename to i, i
-package p;
-class A{
-	int m(int i, int j){
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail20.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail20.java
deleted file mode 100644
index 9022b40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail20.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//cannot rename to: j
-package p;
-interface B{
-	int j= 0;
-}
-class A implements B{
-	void m(int i){
-		int y= j;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail3.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail3.java
deleted file mode 100644
index 549fe00..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail3.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//cannot rename to: i, 9
-package p;
-class A{
-	int m(int i, int j){
-			return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail4.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail4.java
deleted file mode 100644
index ce47b19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail4.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	int m(int i){
-		int j;
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail5.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail5.java
deleted file mode 100644
index a0397a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail5.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	int m(int i){
-		{
-			int j;
-		}
-				return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail6.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail6.java
deleted file mode 100644
index fe77c6b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail6.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	int m(final int i){
-		class X{
-			int j;
-			void m(){
-				j= i;
-			}
-		}
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail7.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail7.java
deleted file mode 100644
index 752c308..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail7.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to: j
-package p;
-class B{
-	int j;
-}
-class A extends B{
-	int m(int i){
-		j= 0;
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail8.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail8.java
deleted file mode 100644
index dd61295..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail8.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to: j
-package p;
-interface B{
-	int j= 0;
-}
-class A implements B{
-	int m(int i){
-		i= j;
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail9.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail9.java
deleted file mode 100644
index 0cb5868..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/A_testFail9.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//cannot rename to: j
-package p;
-
-class B{
-	int j;
-	class A {
-		int m(int i){
-			i= j;
-			return 0;
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/a.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/a.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameParameters/cannotRename/a.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test0/in/A.java
deleted file mode 100644
index 09d7beb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test0/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-	private int f;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test0/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test0/out/A.java
deleted file mode 100644
index 54638c7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test0/out/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-	private int g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test1/in/A.java
deleted file mode 100644
index e7b1fae..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test1/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-	private int f;
-	void m(){
-		f++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test1/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test1/out/A.java
deleted file mode 100644
index 62565c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test1/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-	private int g;
-	void m(){
-		g++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test2/in/A.java
deleted file mode 100644
index 9b8f37b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test2/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//no ref update
-package p;
-class A{
-	private int f;
-	void m(){
-		f++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test2/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test2/out/A.java
deleted file mode 100644
index e243fcd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/test2/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//no ref update
-package p;
-class A{
-	private int g;
-	void m(){
-		f++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail0/in/A.java
deleted file mode 100644
index 331b5e7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail0/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	private int f;
-	private int g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail1/in/A.java
deleted file mode 100644
index 4400551..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail1/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	private int f;
-	private String g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail2/in/A.java
deleted file mode 100644
index 0797e05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail2/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	private int f;
-	private static int g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail3/in/A.java
deleted file mode 100644
index e1abbc3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail3/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	private int f;
-	public static int g;	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail4/in/A.java
deleted file mode 100644
index 86f7550..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail4/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-	private int f;
-	public Object g;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail5/in/A.java
deleted file mode 100644
index 96e2633..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail5/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class B {
-	int g;
-	class A {
-		private int f;
-	}
-}	
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail6/in/A.java
deleted file mode 100644
index d688226..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateField/testFail6/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A {
-	private int f;
-	class B {
-		private int g;
-	}
-}	
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test0/in/A.java
deleted file mode 100644
index bbcc717..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test0/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void m(){}
-	class B{
-		void f(){
-			m();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test0/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test0/out/A.java
deleted file mode 100644
index c4e4056..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test0/out/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void k(){}
-	class B{
-		void f(){
-			k();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test10/in/A.java
deleted file mode 100644
index 855db73..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test10/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void m(){}
-}
-class B {
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test10/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test10/out/A.java
deleted file mode 100644
index 8040304..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test10/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void k(){}
-}
-class B {
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test11/in/A.java
deleted file mode 100644
index 41938b9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test11/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void m(){}
-}
-class B extends A{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test11/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test11/out/A.java
deleted file mode 100644
index 4fb51dd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test11/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void k(){}
-}
-class B extends A{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test12/in/A.java
deleted file mode 100644
index 1bfd88f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test12/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void m(){}
-}
-class B extends A{
-	public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test12/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test12/out/A.java
deleted file mode 100644
index ae12fdb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test12/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	private void k(){}
-}
-class B extends A{
-	public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test13/in/A.java
deleted file mode 100644
index 2b3e68b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test13/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void m(){
-	}
-	void f(){
-		m();
-	}
-}
-class A extends B{
-	private void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test13/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test13/out/A.java
deleted file mode 100644
index 900894d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test13/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void m(){
-	}
-	void f(){
-		m();
-	}
-}
-class A extends B{
-	private void k(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test14/in/A.java
deleted file mode 100644
index d189f8a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test14/in/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void k(){
-	}
-	void f(){
-		k();
-	}
-}
-class A extends B{
-	private void m(){
-	}
-	void f(){
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test14/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test14/out/A.java
deleted file mode 100644
index 2919161..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test14/out/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void k(){
-	}
-	void f(){
-		k();
-	}
-}
-class A extends B{
-	private void k(){
-	}
-	void f(){
-		k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test15/in/A.java
deleted file mode 100644
index 489be30..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test15/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test15/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test15/out/A.java
deleted file mode 100644
index 1eb3f1e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test15/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private int k(int m){
-		return k(k(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test16/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test16/in/A.java
deleted file mode 100644
index 130501a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test16/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to fred
-class A{
-	private int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test16/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test16/out/A.java
deleted file mode 100644
index 03bab78..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test16/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to fred
-class A{
-	private int fred(int m){
-		return fred(fred(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test17/in/A.java
deleted file mode 100644
index 7ddf22d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test17/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to kk
-package p;
-public class A {
-	private void m(int m){}
-}
-class B extends A{
-	void m(boolean m){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test17/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test17/out/A.java
deleted file mode 100644
index 6d4f71c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test17/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to kk
-package p;
-public class A {
-	private void kk(int m){}
-}
-class B extends A{
-	void m(boolean m){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/in/A.java
deleted file mode 100644
index 588b82d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming B.m to kk
-package p;
-class B {
-	private void m(int m) {
-	}
-
-}
-public class A extends B {
-	void m(int m) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/in/C.java
deleted file mode 100644
index 4794cc8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/in/C.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class C{
-	void k(){
-		new A().m(4);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/out/A.java
deleted file mode 100644
index af4db05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming B.m to kk
-package p;
-class B {
-	private void kk(int m) {
-	}
-
-}
-public class A extends B {
-	void m(int m) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/out/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/out/C.java
deleted file mode 100644
index 4794cc8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test18/out/C.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class C{
-	void k(){
-		new A().m(4);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test2/in/A.java
deleted file mode 100644
index 36ded4c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test2/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	private void m() {
-	}
-	void k(){
-		A a= new A();
-		a
-		.
-		m ();
-	}
-	
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test2/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test2/out/A.java
deleted file mode 100644
index a8cd235..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test2/out/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	private void fred() {
-	}
-	void k(){
-		A a= new A();
-		a
-		.
-		fred ();
-	}
-	
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test20/in/A.java
deleted file mode 100644
index 357e768..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test20/in/A.java
+++ /dev/null
@@ -1,23 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	private int m(int m) {
-		return m	(	m	)	;
-	}
-		void k(){
-		A a= new A();
-		a
-	.
-		m 
-			(
-			a
-				.
-	m	
-				(
-					6
-			)	
-			
-		);
-	}
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test20/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test20/out/A.java
deleted file mode 100644
index 47a8800..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test20/out/A.java
+++ /dev/null
@@ -1,23 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	private int fred(int m) {
-		return fred	(	m	)	;
-	}
-		void k(){
-		A a= new A();
-		a
-	.
-		fred 
-			(
-			a
-				.
-	fred	
-				(
-					6
-			)	
-			
-		);
-	}
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test23/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test23/in/A.java
deleted file mode 100644
index e19f4ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test23/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private void m(){
-	}
-}
-class test{
-	void m(){
-		class X extends A{
-			void m(){
-		}
-	}
-}}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test23/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test23/out/A.java
deleted file mode 100644
index 572f93c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test23/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private void k(){
-	}
-}
-class test{
-	void m(){
-		class X extends A{
-			void m(){
-		}
-	}
-}}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test24/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test24/in/A.java
deleted file mode 100644
index eb9c053..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test24/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private void m(String s){
-	}
-}
-class B extends A{
-	void m(java.lang.String s){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test24/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test24/out/A.java
deleted file mode 100644
index cf5dc6f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test24/out/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private void k(String s){
-	}
-}
-class B extends A{
-	void m(java.lang.String s){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test25/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test25/in/A.java
deleted file mode 100644
index 433c5a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test25/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private void m(String[] s){
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test25/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test25/out/A.java
deleted file mode 100644
index 1e65a26..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test25/out/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	private void k(String[] s){
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test26/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test26/in/A.java
deleted file mode 100644
index 913e471..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test26/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	private void m(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test26/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test26/out/A.java
deleted file mode 100644
index 950b977..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test26/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	private void k(){
-		this.k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test27/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test27/in/A.java
deleted file mode 100644
index bb7ad49..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test27/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//no ref update
-//renaming A.m to k 
-package p;
-
-class A{
-	private void m(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test27/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test27/out/A.java
deleted file mode 100644
index f4deb45..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/test27/out/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//no ref update
-//renaming A.m to k 
-package p;
-
-class A{
-	private void k(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testAnon0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testAnon0/in/A.java
deleted file mode 100644
index 2526bba..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testAnon0/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-public class A {
-	private void m(){}
-}
-class B{
-	void f(){
-		A a= new A(){
-			void m(){
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testAnon0/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testAnon0/out/A.java
deleted file mode 100644
index 730610f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testAnon0/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-public class A {
-	private void k(){}
-}
-class B{
-	void f(){
-		A a= new A(){
-			void m(){
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail0/in/A.java
deleted file mode 100644
index 946d84c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail0/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-//can't rename native methods
-class A{
- 	private native void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail1/in/A.java
deleted file mode 100644
index ef9f460..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail1/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//can't rename m to k
-class A{
- 	private void m(){}
- 	private void k(){}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail2/in/A.java
deleted file mode 100644
index 8ad56a9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail2/in/A.java
+++ /dev/null
@@ -1,17 +0,0 @@
-//can't rename A.m to k
-package p;
-
-class X {
-	void k(){
-	}
-}
-class A {
-	private void m(){
-		System.out.println("a");
-	}
-	class B extends X{
-		void f(){
-			m();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail5/in/A.java
deleted file mode 100644
index 36269e5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenamePrivateMethod/testFail5/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-
-public class A {
-	private void m(){}
-	class B{
-		void k(){
-			m();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test0/in/A.java
deleted file mode 100644
index 408f8be..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test0/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-	static void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test0/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test0/out/A.java
deleted file mode 100644
index a8ca53b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test0/out/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-	static void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test1/in/A.java
deleted file mode 100644
index e48131f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test1/in/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package p;
-class A{
-	static void m(){
-	}
-	void f(){
-		m();
-	}
-	static int fred(){
-		m();
-		return 0;
-	}
-}
-class B{
-	static void m(){
-		A.m();
-		new A().m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test1/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test1/out/A.java
deleted file mode 100644
index e645c03..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test1/out/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package p;
-class A{
-	static void k(){
-	}
-	void f(){
-		k();
-	}
-	static int fred(){
-		k();
-		return 0;
-	}
-}
-class B{
-	static void m(){
-		A.k();
-		new A().k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test2/in/A.java
deleted file mode 100644
index 9f1d3b6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test2/in/A.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package p;
-class A{
-	static void m(){
-	}
-	void f(){
-		m();
-	}
-	static int fred(){
-		m();
-		return 1;
-	}
-	{
-		A.m();
-		m();
-		new A().m();
-	}
-	static {
-		A.m();
-		m();
-		new A().m();
-	}
-}
-class D{
-	static void m(){
-		A.m();
-		new A().m();
-		m();
-	}
-	static {
-		A.m();
-		new A().m();
-		m();
-	}
-	{
-		A.m();
-		new A().m();
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test2/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test2/out/A.java
deleted file mode 100644
index 81351b6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test2/out/A.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package p;
-class A{
-	static void k(){
-	}
-	void f(){
-		k();
-	}
-	static int fred(){
-		k();
-		return 1;
-	}
-	{
-		A.k();
-		k();
-		new A().k();
-	}
-	static {
-		A.k();
-		k();
-		new A().k();
-	}
-}
-class D{
-	static void m(){
-		A.k();
-		new A().k();
-		m();
-	}
-	static {
-		A.k();
-		new A().k();
-		m();
-	}
-	{
-		A.k();
-		new A().k();
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test3/in/A.java
deleted file mode 100644
index ede5a5c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test3/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package p;
-class A{
-static void m(){}
-}
-class B extends A{
-
-}
-class Test{
-void f(){
-	new A().m();
-	A.m();
-	new B().m();
-	B.m();
-}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test3/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test3/out/A.java
deleted file mode 100644
index d010dcb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test3/out/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package p;
-class A{
-static void k(){}
-}
-class B extends A{
-
-}
-class Test{
-void f(){
-	new A().k();
-	A.k();
-	new B().k();
-	B.k();
-}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test4/in/A.java
deleted file mode 100644
index 9284825..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test4/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package p;
-class A{
-static void m(){}
-}
-class B extends A{
-static void m(){};
-}
-class Test{
-void f(){
-	new A().m();
-	A.m();
-	new B().m();
-	B.m();
-}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test4/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test4/out/A.java
deleted file mode 100644
index c86867f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test4/out/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package p;
-class A{
-static void k(){}
-}
-class B extends A{
-static void m(){};
-}
-class Test{
-void f(){
-	new A().k();
-	A.k();
-	new B().m();
-	B.m();
-}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test5/in/A.java
deleted file mode 100644
index 676e688..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test5/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	static void m(){}
-	class B{
-		void f(){
-			m();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test5/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test5/out/A.java
deleted file mode 100644
index d961d76..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test5/out/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	static void k(){}
-	class B{
-		void f(){
-			k();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test6/in/A.java
deleted file mode 100644
index 535f497..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test6/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	static void m(){
-	}
-}
-class test{
-	void m(){
-		class X extends A{
-			void mm(){
-		}
-	}
-}}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test6/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test6/out/A.java
deleted file mode 100644
index 198d3d8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test6/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	static void k(){
-	}
-}
-class test{
-	void m(){
-		class X extends A{
-			void mm(){
-		}
-	}
-}}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test7/in/A.java
deleted file mode 100644
index 13de2de..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test7/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	static int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test7/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test7/out/A.java
deleted file mode 100644
index f8d3899..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test7/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	static int k(int m){
-		return k(k(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test8/in/A.java
deleted file mode 100644
index b1f304f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test8/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	static int m(int m){
-		return m(m(m));
-	}
-}
-
-class B extends A{
-	static int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test8/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test8/out/A.java
deleted file mode 100644
index 3dd2377..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test8/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	static int k(int m){
-		return k(k(m));
-	}
-}
-
-class B extends A{
-	static int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test9/in/A.java
deleted file mode 100644
index 3e09fbc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test9/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//no ref update
-package p;
-//renaming A.m to k
-class A{
-	static int m(int m){
-		return m(m(m));
-	}
-}
-
-class B extends A{
-	static int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test9/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test9/out/A.java
deleted file mode 100644
index 4f11385..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/test9/out/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//no ref update
-package p;
-//renaming A.m to k
-class A{
-	static int k(int m){
-		return m(m(m));
-	}
-}
-
-class B extends A{
-	static int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail0/in/A.java
deleted file mode 100644
index 515cf69..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail0/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-//can't rename native methods
-class A{
- 	static private native void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail1/in/A.java
deleted file mode 100644
index 64520ec..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail1/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//can't rename m to k
-class A{
- 	static private void m(){}
- 	static private void k(){}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail2/in/A.java
deleted file mode 100644
index 2560341..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail2/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k
-class B{
- 	void k(){}	
-}
-class A extends B{
- 	static public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail4/in/A.java
deleted file mode 100644
index 32fda7c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail4/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//can't rename m to k
-class A{
- 	static public void m(){}
- 	void k(){}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail5/in/A.java
deleted file mode 100644
index 43d650a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail5/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-//can't rename native methods
-class A{
- 	static native void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail6/in/A.java
deleted file mode 100644
index 2cedaae..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail6/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//can't rename m to k
-class A{
- 	static public void m(){}
- 	static public void k(){}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail7/in/A.java
deleted file mode 100644
index 9bacef7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail7/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//can't rename m to k
-class A{
- 	static public void m(){}
- 	static private void k(){}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail8/in/A.java
deleted file mode 100644
index d0d9225..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameStaticMethod/testFail8/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//can't rename m to k
-class A{
- 	static public void m(){}
- 	private void k(){}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test0/in/A.java
deleted file mode 100644
index 6291b80..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test0/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test0/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test0/out/B.java
deleted file mode 100644
index d110d65..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test0/out/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test1/in/A.java
deleted file mode 100644
index bddabc6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test1/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-  A a;
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test1/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test1/out/B.java
deleted file mode 100644
index 7cad311..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test1/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  B a;
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test10/in/A.java
deleted file mode 100644
index 8d59977..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test10/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A{
-   A A;
-   A A(A A){
-     A:
-        for (;;){
-          if (A.A(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test10/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test10/out/B.java
deleted file mode 100644
index 2eafbb8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test10/out/B.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class B{
-   B A;
-   B A(B A){
-     A:
-        for (;;){
-          if (A.A(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/in/A.java
deleted file mode 100644
index 6291b80..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/in/AA.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/in/AA.java
deleted file mode 100644
index 480ae03..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/in/AA.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class AA extends A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/out/AA.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/out/AA.java
deleted file mode 100644
index 20face0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/out/AA.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class AA extends B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/out/B.java
deleted file mode 100644
index d110d65..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test11/out/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test12/in/A.java
deleted file mode 100644
index 6c84ebf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test12/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-  void m(){
-    A a = (A)new Object();
-  };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test12/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test12/out/B.java
deleted file mode 100644
index 1cb62a5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test12/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class B{
-  void m(){
-    B a = (B)new Object();
-  };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test13/in/A.java
deleted file mode 100644
index cd57777..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test13/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-  void m(){
-    boolean b = (new A()) instanceof A;
-  };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test13/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test13/out/B.java
deleted file mode 100644
index 5925007..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test13/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class B{
-  void m(){
-    boolean b = (new B()) instanceof B;
-  };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test14/in/A.java
deleted file mode 100644
index 1a3912e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test14/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-  A a = new A();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test14/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test14/out/B.java
deleted file mode 100644
index 926aaed..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test14/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  B a = new B();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test15/in/A.java
deleted file mode 100644
index cd26dd8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test15/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-   static void s(){};
-}
-class AA{
-   AA(){ 
-     A.s();
-   };   
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test15/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test15/out/B.java
deleted file mode 100644
index 6fc6056..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test15/out/B.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class B{
-   static void s(){};
-}
-class AA{
-   AA(){ 
-     B.s();
-   };   
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test16/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test16/in/A.java
deleted file mode 100644
index 65fdbac..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test16/in/A.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package p;
-class A{
-   boolean A = new A() instanceof A;
-   A A(A A){
-     A:
-        for (;;){
-          if (A.A(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
-class AA extends A{
-   A A = (A) new A();
-   A A(A A){
-     A:
-        for (;;){
-          if (A.A(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test16/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test16/out/B.java
deleted file mode 100644
index e2d8732..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test16/out/B.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package p;
-class B{
-   boolean A = new B() instanceof B;
-   B A(B A){
-     A:
-        for (;;){
-          if (A.A(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
-class AA extends B{
-   B A = (B) new B();
-   B A(B A){
-     A:
-        for (;;){
-          if (A.A(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test17/in/A.java
deleted file mode 100644
index dd850ce..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test17/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-interface I{
-  int A = 0;
-}
-class A{
-  int A = I.A; 
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test17/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test17/out/B.java
deleted file mode 100644
index 77da929..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test17/out/B.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-interface I{
-  int A = 0;
-}
-class B{
-  int A = I.A; 
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test18/in/A.java
deleted file mode 100644
index 791c40d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test18/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A extends Exception{
-}
-class AA{
-  void m(){
-    try {
-      throw new A();
-    }
-    catch(A a){}
-  }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test18/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test18/out/B.java
deleted file mode 100644
index f7ee99a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test18/out/B.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class B extends Exception{
-}
-class AA{
-  void m(){
-    try {
-      throw new B();
-    }
-    catch(B a){}
-  }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test19/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test19/in/A.java
deleted file mode 100644
index e9efa72..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test19/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A extends Exception{
-  void m(){
-    try {
-      throw new A();
-    }
-    catch(A A){}
-  }
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test19/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test19/out/B.java
deleted file mode 100644
index 3d493fb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test19/out/B.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class B extends Exception{
-  void m(){
-    try {
-      throw new B();
-    }
-    catch(B A){}
-  }
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test2/in/A.java
deleted file mode 100644
index efd6ca8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test2/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-  int A;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test2/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test2/out/B.java
deleted file mode 100644
index 96d20fc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test2/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  int A;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test20/in/A.java
deleted file mode 100644
index 42c0104..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test20/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package A;
-class A{
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test20/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test20/out/B.java
deleted file mode 100644
index f585c27..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test20/out/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package A;
-class B{
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test21/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test21/in/A.java
deleted file mode 100644
index 9674a71..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test21/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-  void m(){
-    for (A A=new A();;) continue;
-  };
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test21/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test21/out/B.java
deleted file mode 100644
index e7079e7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test21/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class B{
-  void m(){
-    for (B A=new B();;) continue;
-  };
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test22/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test22/in/A.java
deleted file mode 100644
index efd0589..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test22/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-  A(){};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test22/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test22/out/B.java
deleted file mode 100644
index 0154750..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test22/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  B(){};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test23/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test23/in/A.java
deleted file mode 100644
index 200fbc9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test23/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-  A[] a = new A[5];
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test23/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test23/out/B.java
deleted file mode 100644
index e13f8d4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test23/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  B[] a = new B[5];
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test24/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test24/in/A.java
deleted file mode 100644
index b258bf2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test24/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A extends Exception{
-  void m() throws A
-  {};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test24/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test24/out/B.java
deleted file mode 100644
index 6bb1219..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test24/out/B.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class B extends Exception{
-  void m() throws B
-  {};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test25/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test25/in/A.java
deleted file mode 100644
index 91b863c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test25/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-  Class c = A.class;
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test25/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test25/out/B.java
deleted file mode 100644
index 5e58762..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test25/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  Class c = B.class;
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test26/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test26/in/A.java
deleted file mode 100644
index 36252a3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test26/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-  int x;
-  class Inner{
-    void m(){
-      A.this.x++;
-    }
-  }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test26/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test26/out/B.java
deleted file mode 100644
index 23e2e05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test26/out/B.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class B{
-  int x;
-  class Inner{
-    void m(){
-      B.this.x++;
-    }
-  }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test27/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test27/in/A.java
deleted file mode 100644
index ea5823b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test27/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class Super{
-  int x;
-}
-class A extends Super{
-  String x;
-  class Inner{
-    void m(){
-      A.super.x++;
-    }
-  }
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test27/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test27/out/B.java
deleted file mode 100644
index e65f694..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test27/out/B.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class Super{
-  int x;
-}
-class B extends Super{
-  String x;
-  class Inner{
-    void m(){
-      B.super.x++;
-    }
-  }
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test28/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test28/in/A.java
deleted file mode 100644
index c56d8e4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test28/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class Super{
-  void m1(){};
-}
-class A extends Super{
-  class Inner{
-    void m(){
-      A.super.m1();
-    }
-  }
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test28/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test28/out/B.java
deleted file mode 100644
index fbb2b02..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test28/out/B.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class Super{
-  void m1(){};
-}
-class B extends Super{
-  class Inner{
-    void m(){
-      B.super.m1();
-    }
-  }
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/in/A.java
deleted file mode 100644
index b047e01..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-public class A{};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/in/C.java
deleted file mode 100644
index ffcf8fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/in/C.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p.A;
-class C{}; 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/out/B.java
deleted file mode 100644
index 9840770..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/out/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-public class B{};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/out/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/out/C.java
deleted file mode 100644
index 3e07200..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test29/out/C.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p.B;
-class C{}; 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test3/in/A.java
deleted file mode 100644
index 6857903..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test3/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{
-}
-class AA extends A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test3/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test3/out/B.java
deleted file mode 100644
index 72a47fc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test3/out/B.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class B{
-}
-class AA extends B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/in/A.java
deleted file mode 100644
index 9bbb4ae..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-   static int f;
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/in/AA.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/in/AA.java
deleted file mode 100644
index 47f9fc0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/in/AA.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class AA{
-   AA(){ A.f=0; };   
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/out/AA.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/out/AA.java
deleted file mode 100644
index aaf251b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/out/AA.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class AA{
-   AA(){ B.f=0; };   
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/out/B.java
deleted file mode 100644
index ab72f87..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test30/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-   static int f;
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/in/A.java
deleted file mode 100644
index 061be77..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class A{};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/in/AA.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/in/AA.java
deleted file mode 100644
index 0bd204c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/in/AA.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class AA{
-   Object a = new A(){
-              };
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/out/AA.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/out/AA.java
deleted file mode 100644
index 4cc1669..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/out/AA.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class AA{
-   Object a = new B(){
-              };
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/out/B.java
deleted file mode 100644
index 4c03080..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test31/out/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class B{};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test32/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test32/in/A.java
deleted file mode 100644
index 3486407..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test32/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-}
-class C{
-  C(A a){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test32/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test32/out/B.java
deleted file mode 100644
index a7c1128..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test32/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class B{
-}
-class C{
-  C(B a){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test33/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test33/in/A.java
deleted file mode 100644
index de8a1e1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test33/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A extends Exception{
-}
-class C{
-  C() throws A {};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test33/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test33/out/B.java
deleted file mode 100644
index 730a0ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test33/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class B extends Exception{
-}
-class C{
-  C() throws B {};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test34/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test34/in/A.java
deleted file mode 100644
index 7fe39a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test34/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-// 2 occurences
-package p;
-public class A {
-	{A a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test34/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test34/out/B.java
deleted file mode 100644
index cedeb23..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test34/out/B.java
+++ /dev/null
@@ -1,5 +0,0 @@
-// 2 occurences
-package p;
-public class B {
-	{B a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test35/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test35/in/A.java
deleted file mode 100644
index d3969f2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test35/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//2 occurences
-package p;
-public class A {
-	static {A a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test35/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test35/out/B.java
deleted file mode 100644
index 161b651..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test35/out/B.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//2 occurences
-package p;
-public class B {
-	static {B a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test36/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test36/in/A.java
deleted file mode 100644
index 80671d0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test36/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//3 occurences
-package p;
-public class A {
-	static {A a;}
-	static {A a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test36/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test36/out/B.java
deleted file mode 100644
index d99b282..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test36/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//3 occurences
-package p;
-public class B {
-	static {B a;}
-	static {B a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test37/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test37/in/A.java
deleted file mode 100644
index a5cf5ba..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test37/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//3 occurences
-package p;
-public class A {
-	static {A a;}
-	{A a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test37/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test37/out/B.java
deleted file mode 100644
index 0a55f97..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test37/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//3 occurences
-package p;
-public class B {
-	static {B a;}
-	{B a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test38/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test38/in/A.java
deleted file mode 100644
index 9b76ec0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test38/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//2 occurences
-package p;
-public class A {
-}
-
-class C{
-	{A a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test38/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test38/out/B.java
deleted file mode 100644
index 9084847..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test38/out/B.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//2 occurences
-package p;
-public class B {
-}
-
-class C{
-	{B a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test39/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test39/in/A.java
deleted file mode 100644
index 806e5a6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test39/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//2 occurences
-package p;
-public class A {
-}
-
-class C{
-	static {A a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test39/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test39/out/B.java
deleted file mode 100644
index f7855ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test39/out/B.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//2 occurences
-package p;
-public class B {
-}
-
-class C{
-	static {B a;}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test4/in/A.java
deleted file mode 100644
index 1091280..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test4/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-   void A(){};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test4/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test4/out/B.java
deleted file mode 100644
index 4f70464..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test4/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-   void A(){};
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test40/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test40/in/A.java
deleted file mode 100644
index ad31dc6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test40/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-//1 occurence
-public class A {
-}
-
-class C {
-	void m() {
-		class A{
-		}
-		new A();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test40/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test40/out/B.java
deleted file mode 100644
index 3e19bb4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test40/out/B.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-//1 occurence
-public class B {
-}
-
-class C {
-	void m() {
-		class A{
-		}
-		new A();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test41/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test41/in/A.java
deleted file mode 100644
index 04f17fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test41/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-public class A {
-	A(A A){}
-	A A(A A){
-		A= new A(new A(A));
-		return A;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test41/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test41/out/B.java
deleted file mode 100644
index dddd152..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test41/out/B.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-public class B {
-	B(B A){}
-	B A(B A){
-		A= new B(new B(A));
-		return A;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test42/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test42/in/A.java
deleted file mode 100644
index 5418dd9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test42/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A {
-	A(A A){}
-	A A(A A){
-		A= new A(new A(A));
-		return A;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test42/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test42/out/B.java
deleted file mode 100644
index 744edb4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test42/out/B.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class B {
-	B(B A){}
-	B A(B A){
-		A= new B(new B(A));
-		return A;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test43/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test43/in/A.java
deleted file mode 100644
index d187f54..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test43/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-public class A {
-	static A A;
-}
-class X extends p.A{
-	void x(){
-		p.A.A= A.A;//fields come first
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test43/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test43/out/B.java
deleted file mode 100644
index 20e2727..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test43/out/B.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-public class B {
-	static B A;
-}
-class X extends p.B{
-	void x(){
-		p.B.A= A.A;//fields come first
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test44/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test44/in/A.java
deleted file mode 100644
index 04c067d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test44/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//renaming A to B
-package p;
-interface A {
-}
-class K implements A{
-}
-interface C extends A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test44/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test44/out/B.java
deleted file mode 100644
index f9d3d92..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test44/out/B.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//renaming A to B
-package p;
-interface B {
-}
-class K implements B{
-}
-interface C extends B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test45/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test45/in/A.java
deleted file mode 100644
index 18d05b7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test45/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
- class A {
-	static A A;
-}
-class X extends p.A{
-	void x(){
-		p.A.A= A.A;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test45/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test45/out/B.java
deleted file mode 100644
index 61d6943..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test45/out/B.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
- class B {
-	static B A;
-}
-class X extends p.B{
-	void x(){
-		p.B.A= A.A;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/in/A.java
deleted file mode 100644
index b047e01..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-public class A{};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/in/C.java
deleted file mode 100644
index ffcf8fd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/in/C.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p.A;
-class C{}; 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/out/B.java
deleted file mode 100644
index 9840770..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/out/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-public class B{};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/out/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/out/C.java
deleted file mode 100644
index 3e07200..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test46/out/C.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p.B;
-class C{}; 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test47/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test47/in/A.java
deleted file mode 100644
index 6ae44a0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test47/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-class A{
-	A	( ){};
-};
-class C{
-	void s(){
-	new A ( );
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test47/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test47/out/B.java
deleted file mode 100644
index 6d95d4f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test47/out/B.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-class B{
-	B	( ){};
-};
-class C{
-	void s(){
-	new B ( );
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test48/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test48/in/A.java
deleted file mode 100644
index 92da31a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test48/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-class A{
-	A	( ){};
-};
-class C{
-	void s(){
-	new p . A ( );
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test48/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test48/out/B.java
deleted file mode 100644
index 6fc2e7c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test48/out/B.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-class B{
-	B	( ){};
-};
-class C{
-	void s(){
-	new p . B ( );
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test49/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test49/in/A.java
deleted file mode 100644
index dc7c33d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test49/in/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//renaming A to B
-package p;
-class A{
-	A	( ){};
-	static int fgT;
-};
-class C{
-	void s(){
-	new p . A ( );
-	p
-	.
-	A
-	.
-	fgT
-	=
-	6;
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test49/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test49/out/B.java
deleted file mode 100644
index 9c92c70..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test49/out/B.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//renaming A to B
-package p;
-class B{
-	B	( ){};
-	static int fgT;
-};
-class C{
-	void s(){
-	new p . B ( );
-	p
-	.
-	B
-	.
-	fgT
-	=
-	6;
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test5/in/A.java
deleted file mode 100644
index efce98d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test5/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-   void m(A a){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test5/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test5/out/B.java
deleted file mode 100644
index bfca111..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test5/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-   void m(B a){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test50/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test50/in/A.java
deleted file mode 100644
index 4c07c67..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test50/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-class A{
-	A( ){};
-};
-class C extends A{
-	C(){
-		super();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test50/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test50/out/B.java
deleted file mode 100644
index 6e53cb1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test50/out/B.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming A to B
-package p;
-class B{
-	B( ){};
-};
-class C extends B{
-	C(){
-		super();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/in/A.java
deleted file mode 100644
index c57bddf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class A{
- public class X{}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/in/C.java
deleted file mode 100644
index a10bebd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/in/C.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p.A.*;
-class C{}; 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/out/B.java
deleted file mode 100644
index dfa16de..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class B{
- public class X{}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/out/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/out/C.java
deleted file mode 100644
index a10bebd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test51/out/C.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p.A.*;
-class C{}; 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test52/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test52/in/A.java
deleted file mode 100644
index 5e98305..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test52/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-public class A{
-	A[] m(){
-		return (A[])new A[3];
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test52/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test52/out/B.java
deleted file mode 100644
index 28cefd2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test52/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-public class B{
-	B[] m(){
-		return (B[])new B[3];
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test53/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test53/in/A.java
deleted file mode 100644
index 8237dbe..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test53/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//no ref update
-package p;
-public class A{
-	A(){}
-	A(A A){}
-	A m(){
-		return (A)new A();
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test53/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test53/out/B.java
deleted file mode 100644
index 9afa2e5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test53/out/B.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//no ref update
-package p;
-public class B{
-	B(){}
-	B(A A){}
-	A m(){
-		return (A)new A();
-	}
-};
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test54/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test54/in/A.java
deleted file mode 100644
index 67a5e75..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test54/in/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//rename X to XYZ
-package p;
-public class A{
-	class X{
-		X(X X){new X(null);}
-	}
-	A(){}
-	A(A A){}
-	A m(){
-		new X(null);
-		return (A)new A();
-	}
-};
-class B{
-	A.X ax= new A().new X(null);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test54/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test54/out/A.java
deleted file mode 100644
index efea233..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test54/out/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//rename X to XYZ
-package p;
-public class A{
-	class XYZ{
-		XYZ(XYZ X){new XYZ(null);}
-	}
-	A(){}
-	A(A A){}
-	A m(){
-		new XYZ(null);
-		return (A)new A();
-	}
-};
-class B{
-	A.XYZ ax= new A().new XYZ(null);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test55/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test55/in/A.java
deleted file mode 100644
index 5abee52..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test55/in/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//rename X to XYZ - no ref update
-package p;
-public class A{
-	class X{
-		X(X X){new X(null);}
-	}
-	A(){}
-	A(A A){}
-	A m(){
-		new X(null);
-		return (A)new A();
-	}
-};
-class B{
-	A.X ax= new A().new X(null);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test55/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test55/out/A.java
deleted file mode 100644
index 3a6a288..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test55/out/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//rename X to XYZ - no ref update
-package p;
-public class A{
-	class XYZ{
-		XYZ(X X){new X(null);}
-	}
-	A(){}
-	A(A A){}
-	A m(){
-		new X(null);
-		return (A)new A();
-	}
-};
-class B{
-	A.X ax= new A().new X(null);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test6/in/A.java
deleted file mode 100644
index c96f5c8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test6/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-   void m(A A){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test6/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test6/out/B.java
deleted file mode 100644
index e32d1a0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test6/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-   void m(B A){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test7/in/A.java
deleted file mode 100644
index ff50450..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test7/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-   A m(){return null;};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test7/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test7/out/B.java
deleted file mode 100644
index 38e8cf2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test7/out/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-   B m(){return null;};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test8/in/A.java
deleted file mode 100644
index 8d3c292..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test8/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-   void m(){
-     A: return;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test8/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test8/out/B.java
deleted file mode 100644
index 62858b8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test8/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class B{
-   void m(){
-     A: return;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test9/in/A.java
deleted file mode 100644
index 5d48bdf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test9/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-   void m(){
-     A A; 
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test9/out/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test9/out/B.java
deleted file mode 100644
index 3f6c10b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/test9/out/B.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class B{
-   void m(){
-     B A; 
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail0/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail0/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail00/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail00/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail00/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail01/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail01/in/A.java
deleted file mode 100644
index f6daf1d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail01/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-
-class A {
-}
-class C extends A{
-}
-class B extends C{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail02/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail02/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail02/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail03/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail03/in/A.java
deleted file mode 100644
index f6daf1d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail03/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-
-class A {
-}
-class C extends A{
-}
-class B extends C{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail04/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail04/in/A.java
deleted file mode 100644
index f6daf1d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail04/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-
-class A {
-}
-class C extends A{
-}
-class B extends C{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail1/in/A.java
deleted file mode 100644
index f6daf1d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail1/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-
-class A {
-}
-class C extends A{
-}
-class B extends C{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail10/in/A.java
deleted file mode 100644
index a7cbe67..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail10/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-  class AA{
-     class AAA{
-        class B{
-        }
-     }
-  }
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail11/in/A.java
deleted file mode 100644
index b376073..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail11/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  class A{}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail12/in/A.java
deleted file mode 100644
index 179edb2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail12/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-  interface B{}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail16/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail16/in/A.java
deleted file mode 100644
index e325f6a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail16/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class Outer{
-  class A{}
-  class B{}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail17/in/A.java
deleted file mode 100644
index ae12ea2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail17/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class Outer{
-  class A{}
-  interface B{}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail18/in/A.java
deleted file mode 100644
index ad30f07..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail18/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class Outer{
-  class Inner{
-    class A{}
-    class B{}
-  }
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail19/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail19/in/A.java
deleted file mode 100644
index ad30f07..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail19/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class Outer{
-  class Inner{
-    class A{}
-    class B{}
-  }
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail2/in/A.java
deleted file mode 100644
index 304ff48..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail2/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A extends B{
-}
-class B{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail20/in/A.java
deleted file mode 100644
index 7ca9bbb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail20/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-public class A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail20/in/AA.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail20/in/AA.java
deleted file mode 100644
index 74916a6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail20/in/AA.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p2;
-import p1.*;
-class AA extends A{}
-class B extends AA{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail21/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail21/in/A.java
deleted file mode 100644
index 77c8e44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail21/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class A{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail21/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail21/in/C.java
deleted file mode 100644
index 3681e46..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail21/in/C.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1.B;
-class C{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail22/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail22/in/A.java
deleted file mode 100644
index 32ba7d3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail22/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class A{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail22/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail22/in/B.java
deleted file mode 100644
index 7c55812..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail22/in/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-interface B{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/A.java
deleted file mode 100644
index 25ac9bf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-public class A{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/B.java
deleted file mode 100644
index 1e8902b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p3;
-public class B{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/Bogus.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/Bogus.java
deleted file mode 100644
index c10e59b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail23/in/Bogus.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p2;
-import p1.A;
-import p3.B;
-class Bogus{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail24/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail24/in/A.java
deleted file mode 100644
index 25ac9bf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail24/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-public class A{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail24/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail24/in/B.java
deleted file mode 100644
index 3945a49..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail24/in/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p2;
-import p1.A;
-class B{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail25/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail25/in/A.java
deleted file mode 100644
index 25ac9bf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail25/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-public class A{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail25/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail25/in/B.java
deleted file mode 100644
index 042c455..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail25/in/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p2;
-import p1.A;
-interface B{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail26/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail26/in/A.java
deleted file mode 100644
index 61b6e6f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail26/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p2.B;
-public class A{} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail26/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail26/in/B.java
deleted file mode 100644
index 8a3f9bf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail26/in/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p2;
-public interface B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail27/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail27/in/A.java
deleted file mode 100644
index 8071f64..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail27/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p1;
-import p2.B;
-public class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail27/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail27/in/B.java
deleted file mode 100644
index 16d5100..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail27/in/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p2;
-public class B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail28/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail28/in/A.java
deleted file mode 100644
index 056876b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail28/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-   static int length = 17;
-   int m(){
-     int[] B = new int[1];
-     return A.length;
-   }
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail29/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail29/in/A.java
deleted file mode 100644
index 61d3566..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail29/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-   static int length = 17;
-   int m(int[] B){
-     return A.length;
-   }
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail3/in/A.java
deleted file mode 100644
index ad40c78..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail3/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A extends C{
-}
-class B{
-}
-class C extends B{
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail30/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail30/in/A.java
deleted file mode 100644
index 4ab0bf3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail30/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-   static int length = 17;
-   int[] B = new int[1];
-   int m(){
-     return A.length;
-   }
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/A.java
deleted file mode 100644
index 4edb6e1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-public class A{}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/B.java
deleted file mode 100644
index c16f798..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p2;
-public class B{}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/C.java
deleted file mode 100644
index 1b13cad..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail31/in/C.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p3;
-import p1.*;
-import p2.B;
-class C{
-   Object o = new A();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail32/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail32/in/A.java
deleted file mode 100644
index 7b5d176..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail32/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-import p1.*;
-public class A{
-   Object o = new B();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail32/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail32/in/B.java
deleted file mode 100644
index 568eb40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail32/in/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-public class B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail33/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail33/in/A.java
deleted file mode 100644
index cc55de5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail33/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//2 occurences
-//disallow - shadowing
-public class A {
-}
-
-class C {
-	void m() {
-		class B {
-		}
-		new A();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail34/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail34/in/A.java
deleted file mode 100644
index 6462581..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail34/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//2 occurences
-//disallow - obscuring
-public class A {
-	static int length= 1;
-}
-
-class C {
-	void m() {
-		int[] B= {42};
-		A.length= 0;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail35/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail35/in/A.java
deleted file mode 100644
index 7dad132..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail35/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//2 occurences
-//disallow - obscuring
-public class A {
-	static int length= 1;
-}
-
-class C {
-	void m(int[] B) {
-		A.length= 0;
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail36/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail36/in/A.java
deleted file mode 100644
index 00a75d1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail36/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//2 occurences
-//disallow - obscuring
-public class A {
-	static int length= 1;
-}
-
-class C {
-	int[] B= {4};
-	void m() {
-		A.length= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail37/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail37/in/A.java
deleted file mode 100644
index 71df552..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail37/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class A{
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail37/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail37/in/B.java
deleted file mode 100644
index 6cb383e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail37/in/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail38/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail38/in/A.java
deleted file mode 100644
index b7438c3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail38/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-public class A{
-	private static interface I{
-		class C{
-		native void j();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail39/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail39/in/A.java
deleted file mode 100644
index 94de0d7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail39/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-public class A{
-	native void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail4/in/A.java
deleted file mode 100644
index 6291b80..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail4/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail4/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail4/in/B.java
deleted file mode 100644
index 3613892..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail4/in/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B extends A{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail40/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail40/in/A.java
deleted file mode 100644
index 71e4836..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail40/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-public class A{
-	class C{
-		native void m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail41/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail41/in/A.java
deleted file mode 100644
index 1172b81..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail41/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-public class A{
-	public static int length(){ return 0;};
-}
-class F{
-	int m(){
-		String B= null;
-		return A.length();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail42/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail42/in/A.java
deleted file mode 100644
index 81eaf64..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail42/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-public class A{
-	public static int length(){ return 0;};
-}
-class F{
-	int m(String B){
-		return A.length();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail43/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail43/in/A.java
deleted file mode 100644
index 65fb284..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail43/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-public class A{
-	public static int length(){ return 0;};
-}
-class F{
-	String B;
-	int m(){
-		return A.length();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail44/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail44/in/A.java
deleted file mode 100644
index f65c292..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail44/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-public class A{
-	public static int length(){ return 0;};
-}
-class F{
-	String B;
-}
-class FF extends F{
-	int m(){
-		return A.length();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail45/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail45/in/A.java
deleted file mode 100644
index 5554553..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail45/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-public class A{
-	public static int length(){ return 0;};
-}
-interface I{
-	String B= "fred";
-}
-class FF implements I{
-	int m(){
-		return A.length();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail46/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail46/in/A.java
deleted file mode 100644
index 2c0539c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail46/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-public class A{
-	static int MAX_VALUE = 2;
-}
-class S{
-	int m(){
-		Integer B= null;
-		return A.MAX_VALUE;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail47/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail47/in/A.java
deleted file mode 100644
index a6af04d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail47/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-public class A{
-	static int MAX_VALUE = 2;
-}
-class S{
-	int m(Integer B){
-		return A.MAX_VALUE;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail48/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail48/in/A.java
deleted file mode 100644
index 730681c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail48/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	A a;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail49/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail49/in/A.java
deleted file mode 100644
index 6e5046d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail49/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	A m(){
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/A.java
deleted file mode 100644
index 6291b80..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/B.java
deleted file mode 100644
index 3d18e87..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/B.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B extends C{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/C.java
deleted file mode 100644
index 293a290..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail5/in/C.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class C extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail50/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail50/in/A.java
deleted file mode 100644
index ce74207..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail50/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	void m(A a){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail51/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail51/in/A.java
deleted file mode 100644
index 223883f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail51/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	X(A a){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail52/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail52/in/A.java
deleted file mode 100644
index 7129fc6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail52/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A extends Exception{
-}
-class X{
-	class B extends Exception{
-	}
-	void m() throws A{
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail53/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail53/in/A.java
deleted file mode 100644
index 917fe91..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail53/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A extends Exception{
-}
-class X{
-	class B extends Exception{
-	}
-	X() throws A{
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail54/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail54/in/A.java
deleted file mode 100644
index de4ae47..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail54/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	void m(){
-		A a;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail55/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail55/in/A.java
deleted file mode 100644
index 45a7007..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail55/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package p;
-class A extends Exception{
-}
-class X{
-	class B extends Exception{
-	}
-	void m() throws A{
-	}
-	void k(){
-		try {
-			m();
-		} catch (A a){
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail56/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail56/in/A.java
deleted file mode 100644
index 927609b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail56/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A extends Exception{
-}
-class X{
-	class B extends Exception{
-	}
-	Object o= A.class;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail57/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail57/in/A.java
deleted file mode 100644
index 222d305..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail57/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	Object o= new A();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail58/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail58/in/A.java
deleted file mode 100644
index eaab62a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail58/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	Object o= new A(){};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail59/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail59/in/A.java
deleted file mode 100644
index 5b3be05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail59/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	Object o= new A[0];
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/A.java
deleted file mode 100644
index 07a2149..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class A extends C{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/B.java
deleted file mode 100644
index d110d65..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class B{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/C.java
deleted file mode 100644
index b2c3c43..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail6/in/C.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class C extends B{
-}
-
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail60/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail60/in/A.java
deleted file mode 100644
index 2b19f3b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail60/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	Object m(Object o){
-		return (A)o;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail61/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail61/in/A.java
deleted file mode 100644
index 33ee468..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail61/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	boolean m(Object o){
-		return o instanceof A;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail62/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail62/in/A.java
deleted file mode 100644
index d6c2750..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail62/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A{
-	static int x;
-}
-class X{
-	static class B{
-		static int x;
-	}
-	int m(Object o){
-		return A.x;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail63/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail63/in/A.java
deleted file mode 100644
index 78f81e0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail63/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A{
-	static int x(){return 42;};
-}
-class X{
-	static class B{
-		static int x(){return 42;};
-	}
-	int m(Object o){
-		return A.x();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail64/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail64/in/A.java
deleted file mode 100644
index aca1914..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail64/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class X{
-	class B{
-	}
-	class Fred extends A{
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail65/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail65/in/A.java
deleted file mode 100644
index 773ea1e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail65/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{}
-		A a;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail66/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail66/in/A.java
deleted file mode 100644
index cbd2947..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail66/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{};
-		class C{
-			A m(){
-				return null;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail67/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail67/in/A.java
deleted file mode 100644
index 1bd4502..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail67/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{};
-		class C{
-			void m(A b){
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail68/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail68/in/A.java
deleted file mode 100644
index 9f6c653..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail68/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{
-		};
-		class C{
-			C(A b){
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail69/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail69/in/A.java
deleted file mode 100644
index 4109948..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail69/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A extends Exception{
-}
-class X{
-	void m(){
-		class B extends Exception{}
-		class C{
-			void m() throws A{
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail7/in/A.java
deleted file mode 100644
index dd7b3a0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail7/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-}
-class B{}
-
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail70/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail70/in/A.java
deleted file mode 100644
index 0f3f1b4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail70/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-class A extends Exception{
-}
-class X{
-	void m(){
-		class B extends Exception{}
-		class C{
-			C() throws A{
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail71/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail71/in/A.java
deleted file mode 100644
index f26e1b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail71/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A {
-}
-class X{
-	void m(){
-		class B{}
-		class C{
-			A a;
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail72/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail72/in/A.java
deleted file mode 100644
index 3e9e83e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail72/in/A.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package p;
-class A extends Exception {
-}
-class X {
-	void f() {
-		class B extends Exception {
-		};
-		class C {
-			void m() throws A {
-			}
-			void k() {
-				try {
-					m();
-				} catch (A a) {
-				}
-			}
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail73/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail73/in/A.java
deleted file mode 100644
index 98430b0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail73/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A {}
-class X{
-	void m(){
-		class B	{}
-		Object o= A.class;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail74/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail74/in/A.java
deleted file mode 100644
index 10d8bfe..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail74/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{}
-		Object o= new A();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail75/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail75/in/A.java
deleted file mode 100644
index f6cdea7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail75/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{}
-		Object o= new A(){};
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail76/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail76/in/A.java
deleted file mode 100644
index 48f65c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail76/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{}
-		Object o= new A[0];
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail77/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail77/in/A.java
deleted file mode 100644
index a4d5354..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail77/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{}
-		class C{
-			Object m(Object o){
-				return (A)o;
-			}
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail78/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail78/in/A.java
deleted file mode 100644
index b2d42cb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail78/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{	}
-		class C{
-			boolean m(Object o){
-				return o instanceof A;
-			}
-		}	
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail79/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail79/in/A.java
deleted file mode 100644
index 8eb9ad9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail79/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-}
-class X{
-	void m(){
-		class B{}
-		class Fred extends A{
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail8/in/A.java
deleted file mode 100644
index 4a3f223..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail8/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class A{
-}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail8/in/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail8/in/B.java
deleted file mode 100644
index d5d34df..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail8/in/B.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class B{}
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail80/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail80/in/A.java
deleted file mode 100644
index 8e56da5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail80/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-	void m(){
-		class B{}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail81/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail81/in/A.java
deleted file mode 100644
index d2dc781..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail81/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	class C{
-		void m(){
-			class B{}
-		}
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail82/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail82/in/A.java
deleted file mode 100644
index 96d072c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail82/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{}
-class X{
-	class B extends A{}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail83/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail83/in/A.java
deleted file mode 100644
index ffe08d4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail83/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//can't rename A to Cloneable
-package p;
-interface A{}
-class X{
-	void m(){
-		class C implements A, Cloneable{}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail84/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail84/in/A.java
deleted file mode 100644
index 236e5c2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail84/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-//can't rename A to List
-package p;
-import java.util.List;
-class A{}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail85/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail85/in/A.java
deleted file mode 100644
index 7e9bfb1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail85/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	class C{
-		class D{
-			native void n();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail86/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail86/in/A.java
deleted file mode 100644
index fef1289..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail86/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{}
-class C{
-	native void n(A a);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail87/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail87/in/A.java
deleted file mode 100644
index 9c0c81c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail87/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{}
-class C{
-	class D{
-		native void n(A a);
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail88/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail88/in/A.java
deleted file mode 100644
index 2c1bc51..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail88/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	void m(){
-		class C{
-			native void m();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail89/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail89/in/A.java
deleted file mode 100644
index da0e6dd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail89/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	class Inner{
-		void m(){
-			class C{
-				native void m();
-			}
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail9/in/A.java
deleted file mode 100644
index 8c0da8d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail9/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-class A{
-  class B{}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail90/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail90/in/A.java
deleted file mode 100644
index 51cffbb6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail90/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-public class A{
-	public static int length(){ return 0;};
-}
-class F{
-	static class B{
-		public static int length(){ return 42;};
-	};
-}
-class FF extends F{
-	int m(){
-		return A.length();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail91/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail91/in/A.java
deleted file mode 100644
index a830c1a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail91/in/A.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package p;
-public class A{
-	public static int length(){ return 0;};
-}
-interface I{
-	static class B{
-		public static int length(){ return 0;};
-	}
-}
-class FF implements I{
-	int m(){
-		return A.length();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail92/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail92/in/A.java
deleted file mode 100644
index 639b145..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail92/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-public class A{
-	void f(){
-		class X{
-			class B{}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail93/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail93/in/A.java
deleted file mode 100644
index 40039ab..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail93/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-public class A{
-	void f(){
-		class X{
-			class B{
-				native void m();
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail94/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail94/in/A.java
deleted file mode 100644
index ff0cb15..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail94/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A{}
-class B{
-	native void m(A a);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail95/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail95/in/A.java
deleted file mode 100644
index ac49ce4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFail95/in/A.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package p;
-class A {
-	class Z {
-		void o() {
-			{
-				class F {
-					{
-						class B {
-							void hj() {
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFailRegression1GCRKMQ/in/Blinky.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFailRegression1GCRKMQ/in/Blinky.java
deleted file mode 100644
index 4140567..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testFailRegression1GCRKMQ/in/Blinky.java
+++ /dev/null
@@ -1,9 +0,0 @@
-import java.util.*; 
-import java.io.File;
-
-public class Blinky{
-
-	public static void main(String[] args) {
-	}
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalInnerClass/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalInnerClass/in/A.java
deleted file mode 100644
index b376073..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalInnerClass/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-class B{
-  class A{}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName1/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName1/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName2/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName2/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName3/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName3/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName4/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName4/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName5/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName5/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName6/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName6/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName7/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName7/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName8/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testIllegalTypeName8/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testNoOp/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testNoOp/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testNoOp/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg1/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg1/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg2/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg2/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg3/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg3/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg4/in/A.java
deleted file mode 100644
index 6f63ab9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameType/testWrongArg4/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-class A {
-}
-class B extends A{
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_in.java
deleted file mode 100644
index 0519ecb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_in.java
+++ /dev/null
@@ -1 +0,0 @@
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_out.java
deleted file mode 100644
index 0519ecb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_out.java
+++ /dev/null
@@ -1 +0,0 @@
- 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test0_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test0_in.java
deleted file mode 100644
index f99f456..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test0_in.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int i){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test0_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test0_out.java
deleted file mode 100644
index a595b24..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test0_out.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int j){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test10_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test10_in.java
deleted file mode 100644
index 35d3439..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test10_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	native void m(int i);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test10_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test10_out.java
deleted file mode 100644
index 58f2f20..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test10_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	native void m(int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test11_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test11_in.java
deleted file mode 100644
index eab99a3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test11_in.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//rename to j
-package p;
-class A{
-	int k;
-	void m(int i){
-		A a= new A(){
-			void m(int i){
-				i++;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test11_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test11_out.java
deleted file mode 100644
index 4dc6467..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test11_out.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//rename to j
-package p;
-class A{
-	int k;
-	void m(int j){
-		A a= new A(){
-			void m(int i){
-				i++;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test12_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test12_in.java
deleted file mode 100644
index ea84baf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test12_in.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//rename to j
-package p;
-class A{
-	void m(final int i){
-		A a= new A(){
-			void m(int k){
-				k= i;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test12_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test12_out.java
deleted file mode 100644
index f2afa2b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test12_out.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//rename to j
-package p;
-class A{
-	void m(final int j){
-		A a= new A(){
-			void m(int k){
-				k= j;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test13_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test13_in.java
deleted file mode 100644
index 8682f8a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test13_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int i){
-	}
-	void n(int i){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test13_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test13_out.java
deleted file mode 100644
index a706f40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test13_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int j){
-	}
-	void n(int i){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test14_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test14_in.java
deleted file mode 100644
index 7ee39c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test14_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	A i;
-	A m(A i){
-		return i.m(i.m(this.i));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test14_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test14_out.java
deleted file mode 100644
index f9d9ef3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test14_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: j
-package p;
-class A{
-	A i;
-	A m(A j){
-		return j.m(j.m(this.i));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test15_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test15_in.java
deleted file mode 100644
index 4f56552..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test15_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j, i
-package p;
-class A{
-	int m(int i, int j){
-		return i + j;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test15_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test15_out.java
deleted file mode 100644
index 14f918d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test15_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j, i
-package p;
-class A{
-	int m(int j, int i){
-		return j + i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test16_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test16_in.java
deleted file mode 100644
index b3a0098..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test16_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int i){
-		class X{
-			int j;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test16_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test16_out.java
deleted file mode 100644
index f14f73b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test16_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int j){
-		class X{
-			int j;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test17_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test17_in.java
deleted file mode 100644
index ed8c347..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test17_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j, i, k
-package p;
-class A{
-	int l;
-	int m(int i, int j, int k){
-		int m= 0;
-		return i + j + k + l + m;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test17_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test17_out.java
deleted file mode 100644
index 93d3e70..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test17_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming to: j, i, k
-package p;
-class A{
-	int l;
-	int m(int j, int i, int k){
-		int m= 0;
-		return j + i + k + l + m;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test18_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test18_in.java
deleted file mode 100644
index 3e13887..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test18_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(Object i){
-		class j{}
-		i= new j();
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test18_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test18_out.java
deleted file mode 100644
index ffd9994..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test18_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(Object j){
-		class j{}
-		j= new j();
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test19_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test19_in.java
deleted file mode 100644
index 657fe9e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test19_in.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	A i;
-	void m(A i){
-		i.toString();
-		i.equals(i.toString());
-		i.i.i= i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test19_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test19_out.java
deleted file mode 100644
index 263cd01..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test19_out.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	A i;
-	void m(A j){
-		j.toString();
-		j.equals(j.toString());
-		j.i.i= j;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test1_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test1_in.java
deleted file mode 100644
index 10079c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test1_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int i){
-		i++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test1_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test1_out.java
deleted file mode 100644
index dedcb99..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test1_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to: j
-package p;
-class A{
-	void m(int j){
-		j++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test20_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test20_in.java
deleted file mode 100644
index 35d985b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test20_in.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(i i){
-		i.i.i= i.i;
-		i:{
-			while(true){
-				break i;
-				return i;
-			}
-		}
-	};
-}
-class i{
-	i i;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test20_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test20_out.java
deleted file mode 100644
index 870aa9e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test20_out.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(i j){
-		j.i.i= j.i;
-		i:{
-			while(true){
-				break i;
-				return j;
-			}
-		}
-	};
-}
-class i{
-	i i;
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test21_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test21_in.java
deleted file mode 100644
index 54abca2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test21_in.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int i){
-		A[] o= new A[8];
-		for (; i == i;){
-			i++;
-			o[++i]= i ==7 ? i: i + i;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test21_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test21_out.java
deleted file mode 100644
index b20cdaa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test21_out.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	void m(int j){
-		A[] o= new A[8];
-		for (; j == j;){
-			j++;
-			o[++j]= j ==7 ? j: j + j;
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test22_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test22_in.java
deleted file mode 100644
index 3358054..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test22_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int i){
-		int u= i + this.i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test22_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test22_out.java
deleted file mode 100644
index b6bb716..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test22_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int j){
-		int u= j + this.i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test23_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test23_in.java
deleted file mode 100644
index 8a8dec2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test23_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j, i
-package p;
-class A{
-	int j;
-	int m(final int i, int j){
-		return i + j;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test23_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test23_out.java
deleted file mode 100644
index b6a9dd0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test23_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j, i
-package p;
-class A{
-	int j;
-	int m(final int j, int i){
-		return j + i;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test24_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test24_in.java
deleted file mode 100644
index 1fa6d29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test24_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int i){
-		this.i= i;
-	};
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test24_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test24_out.java
deleted file mode 100644
index a2134c9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test24_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int i;
-	void m(int j){
-		this.i= j;
-	};
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test25_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test25_in.java
deleted file mode 100644
index 368e29e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test25_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int i){
-		return i + m(m(i));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test25_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test25_out.java
deleted file mode 100644
index 4ade063..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test25_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int j){
-		return j + m(m(j));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test26_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test26_in.java
deleted file mode 100644
index 415fcdd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test26_in.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int i){
-		new A(){
-			int m(int i){
-				return i;
-			}
-		};
-		return i + m(m(i));
-	};
-}   
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test26_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test26_out.java
deleted file mode 100644
index 7ca75e0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test26_out.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(int j){
-		new A(){
-			int m(int i){
-				return i;
-			}
-		};
-		return j + m(m(j));
-	};
-}   
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test27_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test27_in.java
deleted file mode 100644
index bece931..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test27_in.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(final int i){
-		new A(){
-			int m(int o){
-				return i;
-			}
-		};
-		return i + m(m(i));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test27_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test27_out.java
deleted file mode 100644
index c25cf40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test27_out.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int j;
-	int m(final int j){
-		new A(){
-			int m(int o){
-				return j;
-			}
-		};
-		return j + m(m(j));
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test28_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test28_in.java
deleted file mode 100644
index fcebf0e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test28_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int m(int[] i){
-		i[0]= 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test28_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test28_out.java
deleted file mode 100644
index bf2b184..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test28_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//renaming to: j
-package p;
-class A{
-	int m(int[] j){
-		j[0]= 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test29_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test29_in.java
deleted file mode 100644
index 3ac020a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test29_in.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to B
-package p;
-class A{
-   A A;
-   A m(A A){
-     A:
-        for (;;){
-          if (A.m(A)==A)
-             break A;
-        }
-      return A;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test29_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test29_out.java
deleted file mode 100644
index c13fb71..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test29_out.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming to B
-package p;
-class A{
-   A A;
-   A m(A B){
-     A:
-        for (;;){
-          if (B.m(B)==B)
-             break A;
-        }
-      return B;
-   };
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test2_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test2_in.java
deleted file mode 100644
index 3ce000b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test2_in.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j, k
-package p;
-class A{
-	void m(int i, int k){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test2_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test2_out.java
deleted file mode 100644
index 2e49b16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test2_out.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//rename to: j, k
-package p;
-class A{
-	void m(int j, int k){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test30_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test30_in.java
deleted file mode 100644
index e4ad09f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test30_in.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to i, k
-package p;
-class A{
-	private void m(final int i, int j){
-		class J{
-			int k;
-			void k(){
-				k= k;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test30_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test30_out.java
deleted file mode 100644
index 9ee3399..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test30_out.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to i, k
-package p;
-class A{
-	private void m(final int i, int k){
-		class J{
-			int k;
-			void k(){
-				k= k;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test31_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test31_in.java
deleted file mode 100644
index a4e0e9e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test31_in.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to kk, j
-package p;
-class A{
-	private void m(final int i, int j){
-		new Object(){
-			int kk;
-			void fred(){
-				kk= 0;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test31_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test31_out.java
deleted file mode 100644
index 8f95274..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test31_out.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//renaming to kk, j
-package p;
-class A{
-	private void m(final int kk, int j){
-		new Object(){
-			int kk;
-			void fred(){
-				kk= 0;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test32_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test32_in.java
deleted file mode 100644
index 275aaf9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test32_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	A(int i){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test32_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test32_out.java
deleted file mode 100644
index 5516e0b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test32_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-class A{
-	A(int j){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test3_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test3_in.java
deleted file mode 100644
index 7676ba8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test3_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//rename to: j, j1
-package p;
-class A{
-	int m(int i, int k){
-		{
-			return i + k;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test3_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test3_out.java
deleted file mode 100644
index d1f6340..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test3_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//rename to: j, j1
-package p;
-class A{
-	int m(int j, int j1){
-		{
-			return j + j1;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test4_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test4_in.java
deleted file mode 100644
index f607274..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test4_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int k;
-	void m(A i){
-		i.k= i.k;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test4_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test4_out.java
deleted file mode 100644
index 4e4b4c4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test4_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int k;
-	void m(A k){
-		k.k= k.k;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test5_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test5_in.java
deleted file mode 100644
index 99ea05e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test5_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int i;
-	void m(int i){
-		this.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test5_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test5_out.java
deleted file mode 100644
index b4d2054..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test5_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//rename to: k
-package p;
-class A{
-	int i;
-	void m(int k){
-		this.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test6_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test6_in.java
deleted file mode 100644
index efa9a84..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test6_in.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to k
-package p;
-class A{
-	void m(int i){
-		m(i);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test6_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test6_out.java
deleted file mode 100644
index 4dc489d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test6_out.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//rename to k
-package p;
-class A{
-	void m(int k){
-		m(k);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test7_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test7_in.java
deleted file mode 100644
index 66d473e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test7_in.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//rename to k
-package p;
-class B{
-	int i;
-}
-class A extends B{
-	void m(A i){
-		super.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test7_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test7_out.java
deleted file mode 100644
index 22e4796..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test7_out.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//rename to k
-package p;
-class B{
-	int i;
-}
-class A extends B{
-	void m(A k){
-		super.i= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test8_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test8_in.java
deleted file mode 100644
index e458281..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test8_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-abstract class A{
-	abstract void m(int i);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test8_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test8_out.java
deleted file mode 100644
index c7cc090..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test8_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-abstract class A{
-	abstract void m(int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test9_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test9_in.java
deleted file mode 100644
index 181663e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test9_in.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-interface A{
-	void m(int i);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test9_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test9_out.java
deleted file mode 100644
index 39e113f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/canRename/A_test9_out.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//rename to j
-package p;
-interface A{
-	void m(int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail0.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail0.java
deleted file mode 100644
index 092427a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail0.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(){
-		final int i= 0;
-		class X{
-			int j;
-			void m(){
-				j= i;
-			}
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail1.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail1.java
deleted file mode 100644
index 4347583..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail1.java
+++ /dev/null
@@ -1,6 +0,0 @@
-//nothing to rename
-package p;
-class A{
-	void m(){
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail10.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail10.java
deleted file mode 100644
index 8bae195..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail10.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//nothing to rename
-package p;
-abstract class A{
-	abstract void m(int i, int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail11.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail11.java
deleted file mode 100644
index 0945e01..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail11.java
+++ /dev/null
@@ -1,5 +0,0 @@
-//not on interfaces
-package p;
-interface A{
-	 void m(int i, int j);
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail12.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail12.java
deleted file mode 100644
index 8eea721..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail12.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//cannot rename to j
-package p;
-class A{
-	void m(){
-		final int i= 0;
-		A a= new A(){
-			void m(int j){
-				i++;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail13.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail13.java
deleted file mode 100644
index e3a6937..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail13.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//cannot rename to j
-package p;
-class A{
-	int j;
-	void m(){
-		int i;
-		j= 0;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail14.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail14.java
deleted file mode 100644
index e9a6a9c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail14.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//cannot rename to j
-package p;
-class A{
-	int k;
-	static class j{
-		static int k;
-	}
-	void m(){
-		A i;
-		j.k= 0;
-	}
-}	
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail15.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail15.java
deleted file mode 100644
index 444f8db..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail15.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(){
-		int i;
-		for (int j= 0; j < 10; j++){
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail16.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail16.java
deleted file mode 100644
index 7b7b714..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail16.java
+++ /dev/null
@@ -1,10 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(){
-		int i;
-		for (int k= 0, j= 0;;) {
-		}
-		
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail17.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail17.java
deleted file mode 100644
index b2bd381..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail17.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	void m(){
-		int i;
-		try{
-			m(1);
-		}
-		catch (Throwable j){
-		}
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail18.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail18.java
deleted file mode 100644
index 22526b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail18.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	String j;
-	void m(){
-		int i=0;
-		j.toString();	
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail19.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail19.java
deleted file mode 100644
index 4ddfe1f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail19.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to: j
-package p;
-class B{
-	int j;
-}
-class A extends B{
-	void m(){
-		int i;
-		j= 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail2.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail2.java
deleted file mode 100644
index 9566184..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail2.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//cannot rename to i, i
-package p;
-class A{
-	int m(){
-		int i, int j;
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail20.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail20.java
deleted file mode 100644
index f2a927f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail20.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to: j
-package p;
-interface B{
-	int j= 0;
-}
-class A implements B{
-	void m(){
-		int i=0;
-		int y= j;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail3.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail3.java
deleted file mode 100644
index 924f31e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail3.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//cannot rename to: i, 9
-package p;
-class A{
-	int m(){
-		int i;
-		int j;
-			return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail4.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail4.java
deleted file mode 100644
index cc3280e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail4.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	int m(int j){
-		int i;
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail5.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail5.java
deleted file mode 100644
index 6e120b4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail5.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	int m(){
-		int i;
-		{
-			int j;
-		}
-				return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail6.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail6.java
deleted file mode 100644
index 474e3f8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail6.java
+++ /dev/null
@@ -1,14 +0,0 @@
-//cannot rename to: j
-package p;
-class A{
-	int m(){
-		final int i=0;
-		class X{
-			int j;
-			void m(){
-				j= i;
-			}
-		}
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail7.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail7.java
deleted file mode 100644
index 9b98899..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail7.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//cannot rename to: j
-package p;
-class B{
-	int j;
-}
-class A extends B{
-	int m(){
-		int i=0;
-		j= 0;
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail8.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail8.java
deleted file mode 100644
index 70bb00f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail8.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//cannot rename to: j
-package p;
-interface B{
-	int j= 0;
-}
-class A implements B{
-	int m(){
-		int i=0;
-		i= j;
-		return 0;
-	};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail9.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail9.java
deleted file mode 100644
index 839f190..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVariables/cannotRename/A_testFail9.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//cannot rename to: j
-package p;
-
-class B{
-	int j;
-	class A {
-		int m(){
-			int i=0;
-			i= j;
-			return 0;
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test1/in/A.java
deleted file mode 100644
index b390b33..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test1/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-//renaming A.m to k
-abstract class A {
-	abstract void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test1/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test1/out/A.java
deleted file mode 100644
index 1c62c61..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test1/out/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-//renaming A.m to k
-abstract class A {
-	abstract void k();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test10/in/A.java
deleted file mode 100644
index 189c1ee..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test10/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	void m(){}
-}
-class B {
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test10/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test10/out/A.java
deleted file mode 100644
index 39cbee9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test10/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	void k(){}
-}
-class B {
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test11/in/A.java
deleted file mode 100644
index 73b0420f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test11/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	void m(){}
-}
-class B extends A{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test11/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test11/out/A.java
deleted file mode 100644
index 43cb647..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test11/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	void k(){}
-}
-class B extends A{
-	void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test12/in/A.java
deleted file mode 100644
index eba14d9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test12/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	void m(){}
-}
-class B extends A{
-	public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test12/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test12/out/A.java
deleted file mode 100644
index dff6414..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test12/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m to k
-class A {
-	void k(){}
-}
-class B extends A{
-	public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test13/in/A.java
deleted file mode 100644
index 0e114b1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test13/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void m(){
-	}
-	void f(){
-		m();
-	}
-}
-class A extends B{
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test13/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test13/out/A.java
deleted file mode 100644
index aa8b9db..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test13/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void m(){
-	}
-	void f(){
-		m();
-	}
-}
-class A extends B{
-	void k(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test14/in/A.java
deleted file mode 100644
index 962ae44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test14/in/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void k(){
-	}
-	void f(){
-		k();
-	}
-}
-class A extends B{
-	void m(){
-	}
-	void f(){
-		m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test14/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test14/out/A.java
deleted file mode 100644
index 978ee42..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test14/out/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void k(){
-	}
-	void f(){
-		k();
-	}
-}
-class A extends B{
-	void k(){
-	}
-	void f(){
-		k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test15/in/A.java
deleted file mode 100644
index 0dc48af..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test15/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test15/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test15/out/A.java
deleted file mode 100644
index 1459a9a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test15/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	int k(int m){
-		return k(k(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test16/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test16/in/A.java
deleted file mode 100644
index ab6d0b5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test16/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to fred
-class A{
-	int m(int m){
-		return m(m(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test16/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test16/out/A.java
deleted file mode 100644
index f701b63..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test16/out/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//renaming A.m to fred
-class A{
-	int fred(int m){
-		return fred(fred(m));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test17/in/A.java
deleted file mode 100644
index 9e7294f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test17/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to kk
-package p;
-public class A {
-	void m(int m){}
-}
-class B extends A{
-	void m(boolean m){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test17/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test17/out/A.java
deleted file mode 100644
index 4c21116..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test17/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to kk
-package p;
-public class A {
-	void kk(int m){}
-}
-class B extends A{
-	void m(boolean m){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/in/A.java
deleted file mode 100644
index 6208aa1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming B.m to kk
-package p;
-class B {
-	void m(int m) {
-	}
-
-}
-public class A extends B {
-	void m(int m) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/in/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/in/C.java
deleted file mode 100644
index 4794cc8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/in/C.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class C{
-	void k(){
-		new A().m(4);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/out/A.java
deleted file mode 100644
index 763c416..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming B.m to kk
-package p;
-class B {
-	void kk(int m) {
-	}
-
-}
-public class A extends B {
-	void kk(int m) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/out/C.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/out/C.java
deleted file mode 100644
index 493535e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test18/out/C.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class C{
-	void k(){
-		new A().kk(4);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test19/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test19/in/A.java
deleted file mode 100644
index 00408da..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test19/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	void m() {
-	}
-}
-
-class B{
-	void k(){
-		A a= new A();
-		a.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test19/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test19/out/A.java
deleted file mode 100644
index ce31818..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test19/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	void fred() {
-	}
-}
-
-class B{
-	void k(){
-		A a= new A();
-		a.fred();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test2/in/A.java
deleted file mode 100644
index 34ca89c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test2/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	void m() {
-	}
-}
-
-class B{
-	void k(){
-		A a= new A();
-		a
-		.
-		m ();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test2/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test2/out/A.java
deleted file mode 100644
index d7ddb59..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test2/out/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	void fred() {
-	}
-}
-
-class B{
-	void k(){
-		A a= new A();
-		a
-		.
-		fred ();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test20/in/A.java
deleted file mode 100644
index 726d3fb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test20/in/A.java
+++ /dev/null
@@ -1,25 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	int m(int m) {
-		return m	(	m	)	;
-	}
-}
-
-class B{
-	void k(){
-		A a= new A();
-		a
-	.
-		m 
-			(
-			a
-				.
-	m	
-				(
-					6
-			)	
-			
-		);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test20/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test20/out/A.java
deleted file mode 100644
index 0750d28..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test20/out/A.java
+++ /dev/null
@@ -1,25 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	int fred(int m) {
-		return fred	(	m	)	;
-	}
-}
-
-class B{
-	void k(){
-		A a= new A();
-		a
-	.
-		fred 
-			(
-			a
-				.
-	fred	
-				(
-					6
-			)	
-			
-		);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test21/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test21/in/A.java
deleted file mode 100644
index 4d69649..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test21/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	int m(int m) {
-		return m	(	m	)	;
-	}
-}
-class B extends A{
-	void f(){
-		super .
-		m (4);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test21/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test21/out/A.java
deleted file mode 100644
index e16a39c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test21/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-//renaming A.m to fred
-package p;
-public class A{
-	int fred(int m) {
-		return fred	(	m	)	;
-	}
-}
-class B extends A{
-	void f(){
-		super .
-		fred (4);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test22/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test22/in/A.java
deleted file mode 100644
index 56d0efa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test22/in/A.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void m(){
-		System.out.println("B.m");	
-	}
-	void fred(){
-		m();
-		B b= new B();
-		b.m();	
-		B b1= new A();
-		b1.m();
-		B bc= new C();
-		bc.m();
-		
-		A ba= new A();
-		ba.m();
-		A ac= new C();
-		ac.m();
-		C c= new C();
-		c.m();
-		
-	}
-}
-class A extends B{
-	void m(){
-		System.out.println("A.m");	
-	}
-}
-class C extends A{
-	void m(){
-		System.out.println("C.m");	
-	}
-}
-
-class test{
-	public static void main(String[] args){
-		new B().fred();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test22/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test22/out/A.java
deleted file mode 100644
index c09b947..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test22/out/A.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package p;
-//renaming A.m to k
-class B{
-	private void m(){
-		System.out.println("B.m");	
-	}
-	void fred(){
-		m();
-		B b= new B();
-		b.m();	
-		B b1= new A();
-		b1.m();
-		B bc= new C();
-		bc.m();
-		
-		A ba= new A();
-		ba.k();
-		A ac= new C();
-		ac.k();
-		C c= new C();
-		c.k();
-		
-	}
-}
-class A extends B{
-	void k(){
-		System.out.println("A.m");	
-	}
-}
-class C extends A{
-	void k(){
-		System.out.println("C.m");	
-	}
-}
-
-class test{
-	public static void main(String[] args){
-		new B().fred();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test23/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test23/in/A.java
deleted file mode 100644
index 34da048..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test23/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	void m(){
-	}
-}
-class test{
-	void m(){
-		class X extends A{
-			void m(){}
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test23/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test23/out/A.java
deleted file mode 100644
index ad18f1a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test23/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	void k(){
-	}
-}
-class test{
-	void k(){
-		class X extends A{
-			void k(){}
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test24/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test24/in/A.java
deleted file mode 100644
index 751eff5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test24/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	void m(String s){
-	}
-}
-class B extends A{
-	void m(java.lang.String s){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test24/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test24/out/A.java
deleted file mode 100644
index 692f888..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test24/out/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//renaming A.m to k
-class A{
-	void k(String s){
-	}
-}
-class B extends A{
-	void k(java.lang.String s){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test25/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test25/in/A.java
deleted file mode 100644
index b7498e1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test25/in/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void m(){
-		System.out.println("a");
-	}
-	class B{
-		class C {
-			void f(){
-				m();
-			}
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test25/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test25/out/A.java
deleted file mode 100644
index a0ccb4d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test25/out/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void k(){
-		System.out.println("a");
-	}
-	class B{
-		class C {
-			void f(){
-				k();
-			}
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test26/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test26/in/A.java
deleted file mode 100644
index a89eb28..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test26/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void m(){}
-}
-class B{
-	static {
-		new A().m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test26/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test26/out/A.java
deleted file mode 100644
index 0f715d6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test26/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void k(){}
-}
-class B{
-	static {
-		new A().k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test27/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test27/in/A.java
deleted file mode 100644
index 23de065..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test27/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void m(){}
-}
-class B{
-	{
-		new A().m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test27/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test27/out/A.java
deleted file mode 100644
index 6b618dc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test27/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void k(){}
-}
-class B{
-	{
-		new A().k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test28/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test28/in/A.java
deleted file mode 100644
index 4a44acd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test28/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void m(){}
-	{
-		new A().m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test28/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test28/out/A.java
deleted file mode 100644
index 73719a3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test28/out/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void k(){}
-	{
-		new A().k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test29/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test29/in/A.java
deleted file mode 100644
index d3cb7ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test29/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void m(){}
-	static {
-		new A().m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test29/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test29/out/A.java
deleted file mode 100644
index 833cebf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test29/out/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void k(){}
-	static {
-		new A().k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test30/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test30/in/A.java
deleted file mode 100644
index 1fdbd9b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test30/in/A.java
+++ /dev/null
@@ -1,20 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class B{
-	A f(){
-		return null;
-	}
-}
-
-class A{
-	B m(){
-		return null;
-	}
-}
-
-class C{
-	void f(B b){
-		b.f().m().f().m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test30/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test30/out/A.java
deleted file mode 100644
index cf5f404..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test30/out/A.java
+++ /dev/null
@@ -1,20 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class B{
-	A f(){
-		return null;
-	}
-}
-
-class A{
-	B k(){
-		return null;
-	}
-}
-
-class C{
-	void f(B b){
-		b.f().k().f().k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test31/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test31/in/A.java
deleted file mode 100644
index 60f4b48..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test31/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void m(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test31/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test31/out/A.java
deleted file mode 100644
index 5325623..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test31/out/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-//renaming A.m to k 
-package p;
-
-class A{
-	void k(){
-		this.k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test32/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test32/in/A.java
deleted file mode 100644
index db159df..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test32/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//no ref update
-//renaming A.m to k 
-package p;
-
-class A{
-	void m(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test32/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test32/out/A.java
deleted file mode 100644
index d129128..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test32/out/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//no ref update
-//renaming A.m to k 
-package p;
-
-class A{
-	void k(){
-		this.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test33/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test33/in/A.java
deleted file mode 100644
index e955c8b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test33/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming A.m to k 
-package p;
-class A{
-	public void m(){}
-}
-
-class AQE extends A{
-	public void m(){
-		super.m();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test33/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test33/out/A.java
deleted file mode 100644
index 7eafaed..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/test33/out/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//renaming A.m to k 
-package p;
-class A{
-	public void k(){}
-}
-
-class AQE extends A{
-	public void k(){
-		super.k();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testAnon0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testAnon0/in/A.java
deleted file mode 100644
index 09ece35..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testAnon0/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-public class A {
-	void m(){}
-}
-class B{
-	void f(){
-		A a= new A(){
-			void m(){
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testAnon0/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testAnon0/out/A.java
deleted file mode 100644
index 3ebde2a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testAnon0/out/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-//renaming A.m to k
-public class A {
-	void k(){}
-}
-class B{
-	void f(){
-		A a= new A(){
-			void k(){
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail0/in/A.java
deleted file mode 100644
index e6c4867..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail0/in/A.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-//can't rename native methods
-class A{
- 	native m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail1/in/A.java
deleted file mode 100644
index 630221d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail1/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//toString can't be renamed - it's a special case (it's called implicitly)
- class A{
-	public String toString(){
-		return null;
-	}; 	
- }
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail10/in/A.java
deleted file mode 100644
index f7b9bb4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail10/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k
-class B{
-	void k(){}
-}
-class A extends B{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail11/in/A.java
deleted file mode 100644
index 5f055ac..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail11/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k
-class B{
-	static void k(){}
-}
-class A extends B{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail12/in/A.java
deleted file mode 100644
index 9c02f0c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail12/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k
-class B{
-	void k(){}
-}
-abstract class A extends B{
-	abstract void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail13/in/A.java
deleted file mode 100644
index 4333b65..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail13/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k
-abstract class B{
-	abstract void k();
-}
-class A extends B{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail14/in/A.java
deleted file mode 100644
index e835268..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail14/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k
-class B{
-	void k(int x){}
-}
-class A extends B{
-	void m(int f){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail15/in/A.java
deleted file mode 100644
index c1f7d7b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail15/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename m to k
-class C {
-	void k(){}
-}
-class B extends C{
-}
-class A extends B{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail17/in/A.java
deleted file mode 100644
index 9eb829a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail17/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//renaming A.m would require renaming a native method
-class A {
-	void m(){}
-}
-class B extends A{
-	native void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail18/in/A.java
deleted file mode 100644
index a1da779..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail18/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A {
-	void m(){}
-}
-class B extends A{
-	private void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail19/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail19/in/A.java
deleted file mode 100644
index 8b3a74e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail19/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A {
-	void m(){}
-}
-class B extends A{
-	public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail2/in/A.java
deleted file mode 100644
index 6ef68c1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail2/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m in A  - must do it in B
-class B{
-	void m(){}
-}
-class A extends B{
-	void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail20/in/A.java
deleted file mode 100644
index 90c07d1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail20/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A {
-	void m(){
-	}
-}
-class B extends A{
-	public void k(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail21/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail21/in/A.java
deleted file mode 100644
index a16713b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail21/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A {
-	void m(){
-	}
-}
-class B extends A{
-	static void k(){
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail22/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail22/in/A.java
deleted file mode 100644
index 5a15474..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail22/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename m to k - defined in subclass
-class A {
-	void m(){
-	}
-}
-class B extends A{
-	private static void k(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail23/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail23/in/A.java
deleted file mode 100644
index 3d07a65..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail23/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename A.m to k - defined in superclass
-class B {
-	void k(){
-	}
-}
-class A extends B{
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail24/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail24/in/A.java
deleted file mode 100644
index a53fdd9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail24/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename A.m to k - defined in superclass
-class B {
-	static void k(){
-	}
-}
-class A extends B{
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail25/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail25/in/A.java
deleted file mode 100644
index 3d07a65..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail25/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename A.m to k - defined in superclass
-class B {
-	void k(){
-	}
-}
-class A extends B{
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail26/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail26/in/A.java
deleted file mode 100644
index 6b4353a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail26/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//can't rename A.m to k - duplicate
-class A {
-	void k(){}
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail27/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail27/in/A.java
deleted file mode 100644
index aba458a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail27/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//can't rename A.m to k - duplicate
-class A {
-	private void k(){}
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail28/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail28/in/A.java
deleted file mode 100644
index bf6ed6a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail28/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-//can't rename A.m to k - duplicate
-class A {
-	static void k(){}
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail29/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail29/in/A.java
deleted file mode 100644
index 3af831e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail29/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename A.m - defined in superclass
-class B{
-	void m(){
-	}
-}
-class A extends B{
-	void m(){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail3/in/A.java
deleted file mode 100644
index 102bf12..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail3/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename m in A - must do it in B
-class B{
-	int m(){}
-}
-class C extends B{
-}
-class A extends C{
-	int m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail30/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail30/in/A.java
deleted file mode 100644
index d467ff8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail30/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename A.m - declared in superclass
-class B {
-	native void m();
-}
-class A extends B{
-	void m(){}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail31/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail31/in/A.java
deleted file mode 100644
index d756bca..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail31/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//can't rename A.m to k
-package p;
-public class A {
-	void m(String m){
-		System.out.println("A");
-	}
-}
-class B extends A{
-	void k(Object m){
-		System.out.println("B");
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail32/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail32/in/A.java
deleted file mode 100644
index 8fcdbd8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail32/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-//can't rename A.m to k
-package p;
-public class A {
-	void m(Object m){
-		System.out.println("A");
-	}
-}
-class B extends A{
-	void k(String m){
-		System.out.println("B");
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail33/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail33/in/A.java
deleted file mode 100644
index c917be1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail33/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-//can't rename A.toString
-package p;
-class A{
-	public java.lang.String toString(){
-		return "fred";
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail34/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail34/in/A.java
deleted file mode 100644
index 1c72cc2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail34/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename A.m to k
-class A{
-	void m(String s){
-	}
-}
-class B extends A{
-	void k(java.lang.String s){
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail35/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail35/in/A.java
deleted file mode 100644
index 237d8d3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail35/in/A.java
+++ /dev/null
@@ -1,19 +0,0 @@
-//can't rename A.m to k
-package p;
-class A{
-	void m(){
-	}
-}
-class X{
-	void k(){
-	}
-	class B{
-		void k(){
-		}
-		class C extends A{
-			void f(){
-				m();
-			}
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail36/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail36/in/A.java
deleted file mode 100644
index 98e2eed..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail36/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename A.m to k
-class B{
-	static void k(){}	
-}
-class A extends B{
- 	public void m(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail37/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail37/in/A.java
deleted file mode 100644
index d4c4e40..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail37/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename A.m to k
-class A{
-	void m(){};
-}
-class B extends A{
- 	static public void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail38/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail38/in/A.java
deleted file mode 100644
index 524f740..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail38/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-//can't rename A.m to k
-class A{
-	void m(){};
-	class B {
-		void k(){
-			m();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail4/in/A.java
deleted file mode 100644
index 3fc227b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail4/in/A.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package p;
-//renaming m in A would require renaming it in I
-class A{
- public void m(){}
-}
-
-class B extends A implements I{
-}
-
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail5/in/A.java
deleted file mode 100644
index ff8d75e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail5/in/A.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package p;
-//renaming m in A would require renaming it in I
-class A{
- 	public void m(){}
-}
-
-class B extends A implements I2{
-}
-
-
-interface I {
-	void m();
-}
-
-interface I2 extends I{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail6/in/A.java
deleted file mode 100644
index 7d0529c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail6/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-//renaming m in A would require renaming it in I
-class A implements I{
-	void m(){}
-}
-
-interface I {
-	void m();
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail7/in/A.java
deleted file mode 100644
index 64b78f3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail7/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-//can't rename m to k
-class A{
-	void m(){}
-	void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail8/in/A.java
deleted file mode 100644
index b3f4cac..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail8/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-//can't rename m to k
-class A{
-	void m(){}
-}
-class B extends A{
-	void k(){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail9/in/A.java
deleted file mode 100644
index fe8816e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/RenameVirtualMethodInClass/testFail9/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-//can't rename m to k
-class A{
-	int m(int i){}
-}
-class B extends A{
-	
-}
-class C extends B{
-	int k(int i){}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test0_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test0_in.java
deleted file mode 100644
index 168fc76..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test0_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private void m(int i, int j){
-	}
-	private void foo(){
-		m(1, 2);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test0_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test0_out.java
deleted file mode 100644
index 731f9b5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test0_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private void m(int j, int i){
-	}
-	private void foo(){
-		m(2, 1);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test10_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test10_in.java
deleted file mode 100644
index aab5486..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test10_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(1, 2, 3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test10_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test10_out.java
deleted file mode 100644
index 5fd8317..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test10_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int j, int k, int i){
-	}
-	private void foo(){
-		m(2, 3, 1);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test11_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test11_in.java
deleted file mode 100644
index bb4ab24..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test11_in.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(3+ 1, 
-			2, 
-				3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test11_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test11_out.java
deleted file mode 100644
index e298324..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test11_out.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int j, int k, int i){
-	}
-	private void foo(){
-		m(2, 
-			3, 
-				3+ 1);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test12_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test12_in.java
deleted file mode 100644
index aa2c4c07..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test12_in.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(19, 
-			/*comment*/2000, 
-				3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test12_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test12_out.java
deleted file mode 100644
index b9dbc8b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test12_out.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int j, int k, int i){
-	}
-	private void foo(){
-		m(2000, 
-			/*comment*/3, 
-				19);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test13_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test13_in.java
deleted file mode 100644
index 2da27b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test13_in.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(19, 
-			/*comment*/2000, 
-				3/*comment2*/);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test13_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test13_out.java
deleted file mode 100644
index aa044fc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test13_out.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//change to j k i
-package p;
-class A{
-	private void m(int j, int k, int i){
-	}
-	private void foo(){
-		m(2000, 
-			/*comment*/3, 
-				19/*comment2*/);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test1_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test1_in.java
deleted file mode 100644
index bc9b179..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test1_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-	private void m(int i, int j){
-	}
-	private void foo(){
-		m(1,
-		2);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test1_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test1_out.java
deleted file mode 100644
index 0ac0646..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test1_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-	private void m(int j, int i){
-	}
-	private void foo(){
-		m(2,
-		1);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test2_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test2_in.java
deleted file mode 100644
index e31b4b9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test2_in.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-	private void m(int i, int j){
-		m(i, j);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test2_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test2_out.java
deleted file mode 100644
index c149a98..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test2_out.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-	private void m(int j, int i){
-		m(j, i);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test3_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test3_in.java
deleted file mode 100644
index fd17b70..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test3_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private void m(
-	 int i,
-	 int j){
-		m(i, j);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test3_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test3_out.java
deleted file mode 100644
index 1e0d85d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test3_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private void m(
-	 int j,
-	 int i){
-		m(j, i);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test4_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test4_in.java
deleted file mode 100644
index 25e5a7d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test4_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private int m(
-	 int i,
-	 int j){
-		return m(m(i, j), 1);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test4_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test4_out.java
deleted file mode 100644
index 570e97f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test4_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private int m(
-	 int j,
-	 int i){
-		return m(1, m(j, i));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test5_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test5_in.java
deleted file mode 100644
index c8c3667..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test5_in.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private void m(
-	 int i,
-	 int j){
-		m(i, 1 + 2);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test5_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test5_out.java
deleted file mode 100644
index 4f4cb4a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test5_out.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private void m(
-	 int j,
-	 int i){
-		m(1 + 2, i);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test6_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test6_in.java
deleted file mode 100644
index 192f3ab..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test6_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to k i j
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(1, 2, 3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test6_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test6_out.java
deleted file mode 100644
index ac97402..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test6_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to k i j
-package p;
-class A{
-	private void m(int k, int i, int j){
-	}
-	private void foo(){
-		m(3, 1, 2);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test7_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test7_in.java
deleted file mode 100644
index aeba20a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test7_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to i k j 
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(1, 2, 3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test7_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test7_out.java
deleted file mode 100644
index 17365bc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test7_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to i k j 
-package p;
-class A{
-	private void m(int i, int k, int j){
-	}
-	private void foo(){
-		m(1, 3, 2);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test8_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test8_in.java
deleted file mode 100644
index 53874a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test8_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to k j i 
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(1, 2, 3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test8_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test8_out.java
deleted file mode 100644
index 036f795..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test8_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to k j i 
-package p;
-class A{
-	private void m(int k, int j, int i){
-	}
-	private void foo(){
-		m(3, 2, 1);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test9_in.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test9_in.java
deleted file mode 100644
index 8a3bb60..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test9_in.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to j i k
-package p;
-class A{
-	private void m(int i, int j, int k){
-	}
-	private void foo(){
-		m(1, 2, 3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test9_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test9_out.java
deleted file mode 100644
index b4cff78..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/canReorder/A_test9_out.java
+++ /dev/null
@@ -1,9 +0,0 @@
-//change to j i k
-package p;
-class A{
-	private void m(int j, int i, int k){
-	}
-	private void foo(){
-		m(2, 1, 3);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/cannotReorder/A_testFail0.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/cannotReorder/A_testFail0.java
deleted file mode 100644
index 25e5a7d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorderParameters/cannotReorder/A_testFail0.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-	private int m(
-	 int i,
-	 int j){
-		return m(m(i, j), 1);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/A.java
deleted file mode 100644
index 10b23af..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/B.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/B.java
deleted file mode 100644
index 8a349d2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/B.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p;
-class B{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/launcher.gif b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/launcher.gif
deleted file mode 100644
index 961894a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/launcher.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/p1/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/p1/A.java
deleted file mode 100644
index fd8eb8c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ReorgTests/p1/A.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package p1;
-class A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail0/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail0/in/A.java
deleted file mode 100644
index 3b19265..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail0/in/A.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-class A{}
-class B extends A{}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail1/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail1/in/A.java
deleted file mode 100644
index 9d71109..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail1/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{}
-class B 
-{
-	void v(){
-	new A();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail10/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail10/in/A.java
deleted file mode 100644
index ecd28f7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail10/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-static int x(){
-	A.x();
-};
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail11/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail11/in/A.java
deleted file mode 100644
index 4389790..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail11/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-class B{
-	void d(){
-		new A();
-	}
-}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail12/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail12/in/A.java
deleted file mode 100644
index c19b365..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail12/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{}
-class B{
-	void f(){
-		new A(){
-			void k(){}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail13/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail13/in/A.java
deleted file mode 100644
index 1a3a47f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail13/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-}
-class B{
-	void x(){
-		class X extends A(){
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail14/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail14/in/A.java
deleted file mode 100644
index f13d2a4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail14/in/A.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package p;
-class A{
-	class B{
-	}
-}
-class C{
-	void b(){
-		A.B g;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail15/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail15/in/A.java
deleted file mode 100644
index 6fdf183..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail15/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{}
-class B 
-{
-	void v(A a){
-	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail16/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail16/in/A.java
deleted file mode 100644
index 56fb44c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail16/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-}
-class B{
-	void f(){
-		Object d= A.class;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail17/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail17/in/A.java
deleted file mode 100644
index 15dc856..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail17/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-static int x(){};
-}
-class B{
-	void f(){
-		Object f= (A)new A();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail18/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail18/in/A.java
deleted file mode 100644
index 4092371..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail18/in/A.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package p;
-class A{
-	class B{}
-}
-class C{
-	void f(){
-		new A().new B();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail19/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail19/in/A.java
deleted file mode 100644
index b9f3830..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail19/in/A.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-interface I{}
-class B implements A{
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail2/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail2/in/A.java
deleted file mode 100644
index eb9849f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail2/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-}
-class B{
-	A f(){
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail20/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail20/in/A.java
deleted file mode 100644
index 6f946e1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail20/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A extends Exception{
-}
-class B{
- void m() throws A{
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail21/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail21/in/A.java
deleted file mode 100644
index 75dbf31..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail21/in/A.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package p;
-class A extends Exception{
- void m() throws A{
- }
-	void j(){
- 	try{
- 		m();
- 	}
- 	catch (A a){
- 	}
- }
-	
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail3/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail3/in/A.java
deleted file mode 100644
index 85e031d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail3/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-static int x(){};
-}
-class B{
-	void g(){A.x();}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail4/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail4/in/A.java
deleted file mode 100644
index 1362380..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail4/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{}
-class B{
- {
-  new A();
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail5/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail5/in/A.java
deleted file mode 100644
index 780bc11..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail5/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{}
-class B{
- static {
-  new A();
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail6/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail6/in/A.java
deleted file mode 100644
index 47efdd0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail6/in/A.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package p;
-class A{
-static int x(){};
-}
-class B{
-	class C{
-		void f(){
-		new A();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail7/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail7/in/A.java
deleted file mode 100644
index 1c6765e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail7/in/A.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package p;
-class A{
-static int x(){};
-}
-class B{
-	class C extends A{
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail8/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail8/in/A.java
deleted file mode 100644
index 08b5afd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail8/in/A.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-class A{
-	void m(){
-		new A();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail9/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail9/in/A.java
deleted file mode 100644
index 4b7553a..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SafeDeleteType/testFail9/in/A.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-class A{
-static int x;
-	void a(){
-	A.x= A.x;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/.cvsignore b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/.cvsignore
deleted file mode 100644
index 48dd041..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.metadata
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/.cvsignore b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/.cvsignore
deleted file mode 100644
index 43e9b71..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-.classpath
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test010.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test010.java
deleted file mode 100644
index 880e1b6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test010.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test010 {
-	public void /*]*/foo() {
-		foo();
-	}/*[*/
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test011.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test011.java
deleted file mode 100644
index 1adf115..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test011.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test011 {
-	public void foo() {
-		/*]*/foo(/*[*/);
-	}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test012.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test012.java
deleted file mode 100644
index c89c75f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test012.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test012 {
-	public void foo() {
-		/*]*/f();
-		g(/*[*/);
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test013.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test013.java
deleted file mode 100644
index b92d74d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test013.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test013 {
-	public void foo() {/*[*/
-		f();
-		g();
-	}/*[*/
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test014.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test014.java
deleted file mode 100644
index de28005..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test014.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test014 {
-	public void foo() /*]*/{
-		foo();
-	}/*[*/
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test015.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test015.java
deleted file mode 100644
index 32e0e13..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test015.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test015 {
-	public void foo() /*]*/{
-		f();
-		g();
-	/*]*/}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test020.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test020.java
deleted file mode 100644
index d99ed0f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test020.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package invalidSelection;
-
-public class A_test020 {
-	public void foo(int x) {
-		switch(x) {
-			/*]*/case 10:
-				f();
-				break;/*[*/
-			case 11:
-				g();
-				break;
-			default:
-				f();
-				g();		
-		}
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test021.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test021.java
deleted file mode 100644
index a104c30..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test021.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package invalidSelection;
-
-public class A_test021 {
-	public void foo(int x) {
-		/*]*/switch(x) {
-			case 10:
-				f();
-				break;/*[*/
-			case 11:
-				g();
-				break;
-			default:
-				f();
-				g();		
-		}
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test022.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test022.java
deleted file mode 100644
index e256a20..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test022.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package invalidSelection;
-
-public class A_test022 {
-	public void foo(int x) {
-		switch(x) {
-			/*]*/case 10:
-				f();
-				break;
-			case 11:
-				g();
-				break;
-			default:
-				f();
-				g();		
-		/*]*/}
-	}
-	
-	public void f() {
-	}
-	public void g() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test030.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test030.java
deleted file mode 100644
index 79812d7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test030.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test030 {
-	public void foo(int x) {
-		{/*[*/
-			f();
-		}/*[*/
-	}	
-	public void f() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test031.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test031.java
deleted file mode 100644
index b8fc35b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test031.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test031 {
-	public void foo(int x) {
-		/*]*/{
-			f();
-		/*]*/}
-	}	
-	public void f() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test040.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test040.java
deleted file mode 100644
index f7a17c4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test040.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test040 {
-	public void foo() {
-		for (int i= 0; i /*]*/</*[*/ 10; i++)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test041.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test041.java
deleted file mode 100644
index e3219e2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test041.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test041 {
-	public void foo() {
-		for (/*]*/int i= 0/*[*/; i < 10; i++)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test042.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test042.java
deleted file mode 100644
index 87baa6f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test042.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test042 {
-	public void foo() {
-		for (int i= 0; i < 10; /*]*/i++/*[*/)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test043.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test043.java
deleted file mode 100644
index 6782f44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test043.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test043 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)/*[*/
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test044.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test044.java
deleted file mode 100644
index eba8d19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test044.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test044 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo(/*[*/);
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test045.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test045.java
deleted file mode 100644
index 8553338..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test045.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test045 {
-	public void foo() {
-		for /*]*/(int i= 0; i < 10; i++)
-			foo();/*[*/
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test046.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test046.java
deleted file mode 100644
index ad867fc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test046.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test046 {
-	public void foo() {
-		for (int i= 10; i < 10; i++)
-			for (int z= 10; z < 10; z++)
-				/*]*/foo();
-		foo()/*[*/;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test047.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test047.java
deleted file mode 100644
index a84e445..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test047.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test047 {
-	public void foo() {
-		for (int i= 10; i < 10; i++)
-			/*]*/for (int z= 10; z < 10; z++)
-				foo();
-		foo()/*[*/;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test048.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test048.java
deleted file mode 100644
index 69ae79b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test048.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package invalidSelection;
-
-import java.util.Enumeration;
-
-public class A_test048 {
-	public boolean flag;
-	public void foo() {
-		for (/*]*/Enumeration e= tests()/*[*/; e.hasMoreElements(); ) {
-			if (flag)
-				break;
-		}
-	}	
-	public Enumeration tests() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test050.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test050.java
deleted file mode 100644
index 1321a16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test050.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test050 {
-	public void foo() {
-		while(1 /*]*/</*[*/ 10)
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test051.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test051.java
deleted file mode 100644
index e91b2d4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test051.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test051 {
-	public void foo() {
-		/*]*/while(1 < 10)/*[*/
-			foo();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test052.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test052.java
deleted file mode 100644
index b374911..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test052.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package invalidSelection;
-
-public class A_test052 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())/*[*/
-			while(b())
-				foo();
-		foo()/*[*/;		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test060.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test060.java
deleted file mode 100644
index e1b6bdd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test060.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test060 {
-	public void foo() {
-		do 
-			foo();
-		while(100 /*]*/>/*[*/  10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test061.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test061.java
deleted file mode 100644
index a1e56d2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test061.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test061 {
-	public void foo() {
-		do 
-			/*]*/foo();
-		while(1 < 10);/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test062.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test062.java
deleted file mode 100644
index 4913526..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test062.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test062 {
-	public void foo() {
-		/*]*/do 
-			foo();/*[*/
-		while(1 < 10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test063.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test063.java
deleted file mode 100644
index d834943..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test063.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test063 {
-	public void foo() {
-		do/*[*/
-			foo();
-		/*]*/while(1 < 10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test070.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test070.java
deleted file mode 100644
index f2b6365..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test070.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test070 {
-	public int foo() {
-		int i= foo();
-		switch/*[*/ (i) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		}/*[*/
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test071.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test071.java
deleted file mode 100644
index 1e29c19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test071.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test071 {
-	public int foo() {
-		int i= foo();
-		/*]*/switch (i) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		/*]*/}
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test072.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test072.java
deleted file mode 100644
index 786a188..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test072.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test072 {
-	public int foo() {
-		int i= foo();
-		switch (i) {
-			case 1/*]*/:
-				foo()/*[*/;
-			case 2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		}
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test073.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test073.java
deleted file mode 100644
index 921196e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test073.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package invalidSelection;
-
-public class A_test073 {
-	public int foo() {
-		int i= foo();
-		switch (i) {
-			case 1:/*[*/
-				foo();
-			case/*[*/2:
-				foo();
-				foo();
-			case 3:
-				foo();
-			default:
-				foo();	
-		}
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test080.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test080.java
deleted file mode 100644
index 0087e62..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test080.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test080 {
-	public boolean fBoolean;
-	public void foo() {
-		if (/*]*/fBoolean/*[*/)
-			foo();
-		else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test081.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test081.java
deleted file mode 100644
index 088e444..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test081.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test081 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		else
-			/*]*/foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test082.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test082.java
deleted file mode 100644
index 8e1e3bc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test082.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test082 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();/*[*/
-		else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test083.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test083.java
deleted file mode 100644
index 05af41d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test083.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test083 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		/*]*/else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test084.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test084.java
deleted file mode 100644
index 42cf868..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test084.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test084 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		else/*[*/
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test085.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test085.java
deleted file mode 100644
index 7969c16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test085.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test085 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			foo();
-		/*]*/else
-			foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test090.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test090.java
deleted file mode 100644
index 18c6c71..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test090.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test090 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/break/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test091.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test091.java
deleted file mode 100644
index a2e5c4c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test091.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test091 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/continue/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test092.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test092.java
deleted file mode 100644
index ccaed03..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test092.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test092 {
-	public void foo() {
-		while (true)
-			/*]*/break/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test093.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test093.java
deleted file mode 100644
index 165eb67..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test093.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test093 {
-	public void foo() {
-		while (true)
-			/*]*/continue/*[*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test094.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test094.java
deleted file mode 100644
index d3c0b17..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test094.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test094 {
-	public void foo() {
-		do
-			/*]*/break/*[*/;
-		while(true);
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test095.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test095.java
deleted file mode 100644
index e330d16..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test095.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package invalidSelection;
-
-public class A_test095 {
-	public void foo() {
-		do
-			/*]*/continue/*[*/;
-		while(true);
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test096.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test096.java
deleted file mode 100644
index 4b0fe42..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test096.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package invalidSelection;
-
-public class A_test096 {
-	public void foo() {
-		int i= 10;
-		switch(i) {
-			case 10:
-				foo();
-				/*]*/break/*[*/;
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test100.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test100.java
deleted file mode 100644
index 8113e0b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test100.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test100 {
-	public void foo() {
-		try /*]*/{
-			foo();
-		}/*[*/ catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test101.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test101.java
deleted file mode 100644
index 26e171f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test101.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test101 {
-	public void foo() {
-		try /*]*/{
-			foo();
-		/*]*/} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test102.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test102.java
deleted file mode 100644
index 39fd3ff..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test102.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test102 {
-	public void foo() {
-		try {/*[*/
-			foo();
-		}/*[*/ catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test103.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test103.java
deleted file mode 100644
index ffe0310..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test103.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test103 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) /*]*/{
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test104.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test104.java
deleted file mode 100644
index 6bb367b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test104.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test104 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {/*[*/
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test105.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test105.java
deleted file mode 100644
index d8f6c1f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test105.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test105 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) /*]*/{
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test106.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test106.java
deleted file mode 100644
index d5c166f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test106.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test106 {
-	public void foo() {
-		try {
-			foo();
-		} finally /*]*/{
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test107.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test107.java
deleted file mode 100644
index 4d8f1bd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test107.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test107 {
-	public void foo() {
-		try {
-			foo();
-		} finally {/*[*/
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test108.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test108.java
deleted file mode 100644
index 4c79c88..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test108.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test108 {
-	public void foo() {
-		try {
-			foo();
-		} finally /*]*/{
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test109.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test109.java
deleted file mode 100644
index fa68c05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test109.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test109 {
-	public void foo() {
-		/*]*/try {
-			foo();
-		} finally {
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test110.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test110.java
deleted file mode 100644
index 6ecade3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test110.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test110 {
-	public void foo() {
-		try/*[*/{
-			foo();
-		} finally {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test111.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test111.java
deleted file mode 100644
index c9903ff..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test111.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test111 {
-	public void foo() {
-		try {
-			foo();
-		} catch (/*]*/Exception e/*[*/) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test112.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test112.java
deleted file mode 100644
index 689f857..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test112.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test112 {
-	public void foo() {
-		try {
-			foo();
-		} /*]*/catch (Exception e) {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test113.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test113.java
deleted file mode 100644
index 2c2db9b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test113.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test113 {
-	public void foo() {
-		/*]*/try {
-			foo();
-		}/*[*/ catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test114.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test114.java
deleted file mode 100644
index 1cfce05..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test114.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test114 {
-	public void foo() {
-		try {
-			foo();
-		} /*]*/finally {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test115.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test115.java
deleted file mode 100644
index 37a6af2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test115.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test115 {
-	public void foo() {
-		try {
-			foo();
-		} catch /*]*/(Exception e)/*[*/ {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test120.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test120.java
deleted file mode 100644
index a5fad98..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test120.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test120 {
-	public boolean foo() {
-		/*]*/return/*[*/ false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test121.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test121.java
deleted file mode 100644
index 81f0057..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test121.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package invalidSelection;
-
-public class A_test121 {
-	public void foo() {
-		int x= 1;
-		int y= 2;
-		
-		/*]*/x= y + x;
-		y= x + y;/*[*/
-		
-		x++;
-		y++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test122.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test122.java
deleted file mode 100644
index 02515c0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test122.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package invalidSelection;
-
-public class A_test122 {
-	public void foo() {
-		int x= 1;
-
-		/*]*/x= x + 2;
-		int y= 10;/*[*/
-		
-		x+= y + 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test130.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test130.java
deleted file mode 100644
index 7b21c75..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test130.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test130 {
-	public void foo() {
-		class Inner {
-		}
-		
-		/*]*/Inner inner= new Inner();
-		foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test131.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test131.java
deleted file mode 100644
index 81471a2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test131.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package invalidSelection;
-
-public class A_test131 {
-	public void foo() {
-		
-		/*]*/class Inner {
-		}
-		foo();/*[*/
-		
-		Inner inner= new Inner();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test140.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test140.java
deleted file mode 100644
index c64ef8e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test140.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package invalidSelection;
-
-public class A_test140 {
-	public boolean flag;
-	public int foo() {
-		int i= 10;
-		/*]*/switch(i) {
-			case 1:
-				if (flag)
-					break;
-				foo();	
-			case 2:
-				return 10;
-			default:
-				throw new NullPointerException();
-		}/*[*/
-			
-		return 10;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test141.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test141.java
deleted file mode 100644
index 18de82c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test141.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test141 {
-	private boolean flag;
-	public int foo() {
-		/*]*/while(flag)
-			return 20;/*[*/
-		return 10;	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test142.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test142.java
deleted file mode 100644
index b5276a7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test142.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package invalidSelection;
-
-public class A_test142 {
-	private boolean flag;
-	public int foo() {
-		int i= 10;
-		/*]*/if (flag) {
-			i++;
-			return i;
-		}/*[*/
-		int y= i + 10;
-		return y;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test143.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test143.java
deleted file mode 100644
index 4e13dbd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test143.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test143 {
-	public boolean foo() {
-		/*]*/try {
-			return true;
-		} catch (Exception e) {
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test144.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test144.java
deleted file mode 100644
index 45016ec..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test144.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test144 {
-	public boolean foo() {
-		/*]*/try {
-		} catch (Exception e) {
-			return true;
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test145.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test145.java
deleted file mode 100644
index 795f60b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test145.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test145 {
-	boolean flag;
-	public boolean foo() {
-		/*]*/do {
-			if (flag)
-				break;
-			return false;
-		} while (flag);/*[*/
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test146.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test146.java
deleted file mode 100644
index 4608af9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test146.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package invalidSelection;
-
-public class A_test146 {
-	boolean flag;
-	public boolean foo() {
-		while (flag) {
-			/*]*/for (int i= 0; i < 10; i++) {
-				if (flag)
-					break;
-			}
-			if (flag)
-				break;
-			return false;/*[*/
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test147.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test147.java
deleted file mode 100644
index f7fd521..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test147.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package invalidSelection;
-
-public class A_test147 {
-	boolean flag;
-	public boolean foo() {
-		/*]*/target: {
-			for (int i= 0; i < 10; i++) {
-				if (flag)
-					break;
-				else
-					break target;
-			}
-			return false;
-		}/*[*/
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test148.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test148.java
deleted file mode 100644
index 39c842b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test148.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package invalidSelection;
-
-public class A_test148 {
-	boolean flag;
-	public boolean foo() {
-		int i= 0;
-		/*]*/switch (i) {
-			case 1:
-				return false;
-			case 2:
-				return true;
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test149.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test149.java
deleted file mode 100644
index c33a562..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test149.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package invalidSelection;
-
-public class A_test149 {
-	boolean flag;
-	public boolean foo() {
-		int i= 0;
-		/*]*/switch (i) {
-			case 1:
-				break;
-			case 2:
-				return true;
-			default:
-				return false;
-		}/*[*/
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test150.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test150.java
deleted file mode 100644
index 942d696..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test150.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test151.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test151.java
deleted file mode 100644
index aa41b19..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test151.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test152.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test152.java
deleted file mode 100644
index 91d26c6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test152.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test153.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test153.java
deleted file mode 100644
index eedcc24..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test153.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test160.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test160.java
deleted file mode 100644
index 965967c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test160.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package invalidSelection;
-
-public class A_test160 {
-	/*]*/public static class Inner {
-	}/*[*/
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test161.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test161.java
deleted file mode 100644
index ee94548..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test161.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package invalidSelection;
-
-public class A_test161 {
-	public void foo() {
-		class /*]*/Inner {
-		}/*]*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test170.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test170.java
deleted file mode 100644
index bda6db9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test170.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test170 {
-	public void foo() {
-		String tab[] = /*]*/{"hello", "world" } /*[*/;       
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test171.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test171.java
deleted file mode 100644
index cac9b44..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test171.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test171 {
-	public void foo() {
-		String /*]*/str = "ggg"/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test172.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test172.java
deleted file mode 100644
index eca6057..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test172.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package invalidSelection;
-
-public class A_test172 {
-	public void foo() {
-		/*]*/int i= 10/*[*/, j= 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test173.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test173.java
deleted file mode 100644
index e9364fc..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test173.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package invalidSelection;
-
-public class A_test173 {
-	public void foo() {
-		/*]*/int i= 10, j= 20;/*[*/
-		g(j);
-		g(i);
-	}
-	public void g(int i) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test180.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test180.java
deleted file mode 100644
index 6998bd8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test180.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package invalidSelection;
-
-public class A_test180 {
-	public A_test180() {
-		/*]*/this(10);
-		foo();/*[*/
-	}
-	public A_test180(int i) {
-		super();
-	}
-	public void foo() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test181.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test181.java
deleted file mode 100644
index e2ba0ee..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test181.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package invalidSelection;
-
-public class A_test181 {
-	public A_test181() {
-		/*]*/super();
-		foo();/*[*/
-	}
-	public void foo() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test190.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test190.java
deleted file mode 100644
index ae16b3f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_test190.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package invalidSelection;
-
-public class A_test190 {
-	public int foo() {
-		int i= 10;
-		/*]*/switch(i) {
-			case 1:
-				foo();
-				break;
-			case 2:
-				foo();
-			default:
-				return 10;
-		}/*[*/
-		
-		return 20;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_testx.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_testx.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/invalidSelection/A_testx.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test1.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test1.java
deleted file mode 100644
index c12b372..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test1.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test1 {
-	public void foo() {
-		/*[*/foo()/*]*/;
-	}
-} 
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test2.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test2.java
deleted file mode 100644
index 06787fa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test2.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test2 {
-	public void foo() {
-		/*[*/foo()/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test3.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test3.java
deleted file mode 100644
index b8e0567..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test3.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test3 {
-	public void foo() {
-		/*]*/foo()/*]*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test4.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test4.java
deleted file mode 100644
index 5f984e7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/selection/A_test4.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package selection;
-
-public class A_test4 {
-	public void foo() {
-		/*]*/foo()/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test200.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test200.java
deleted file mode 100644
index 8d570be..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test200.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package validSelection;
-
-public class A_test200 {
-	public void foo() {
-		/*]*/foo();/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test201.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test201.java
deleted file mode 100644
index 62c304e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test201.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package validSelection;
-
-public class A_test201 {
-	public void foo() {/*[*/
-		foo();
-	/*]*/} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test202.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test202.java
deleted file mode 100644
index d8733ef..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test202.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test202 {
-	public void foo() {
-		/*]*/foo();
-		foo();/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test203.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test203.java
deleted file mode 100644
index 2edb220..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test203.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test203 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo();
-		foo();/*[*/
-	} 
-}
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test230.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test230.java
deleted file mode 100644
index 3035340..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test230.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test230 {
-	public void foo() {
-		{/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test231.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test231.java
deleted file mode 100644
index 3d61594..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test231.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test231 {
-	public void foo() {
-		{
-			/*]*/foo()/*[*/;
-		}
-		{
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test232.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test232.java
deleted file mode 100644
index a3b5456..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test232.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test232 {
-	public void foo() {
-		/*]*/{
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test233.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test233.java
deleted file mode 100644
index 75b3868..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test233.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test233 {
-	public void foo() {
-		{
-			foo();
-		}
-		{
-			/*]*/foo()/*[*/;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test234.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test234.java
deleted file mode 100644
index 265b903..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test234.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test234 {
-	public void foo() {
-		{
-			foo();
-		}
-		{/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test235.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test235.java
deleted file mode 100644
index 876b188..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test235.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test235 {
-	public void foo() {
-		{/*[*/
-			foo();
-		/*]*/}
-		{
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test240.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test240.java
deleted file mode 100644
index 00c0091..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test240.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test240 {
-	public void foo() {/*[*/
-		for (int i= 0; i < 10; i++)
-			foo();
-	/*]*/}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test241.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test241.java
deleted file mode 100644
index b3bb0e2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test241.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test241 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo();/*[*/
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test242.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test242.java
deleted file mode 100644
index 29518a4..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test242.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test242 {
-	public void foo() {
-		/*]*/for (int i= 0; i < 10; i++)
-			foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test243.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test243.java
deleted file mode 100644
index 082e61c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test243.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test243 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)/*[*/
-			foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test244.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test244.java
deleted file mode 100644
index 897ade3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test244.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test244 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test245.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test245.java
deleted file mode 100644
index af752d2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test245.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test245 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			/*]*/foo();/*[*/
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test246.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test246.java
deleted file mode 100644
index 40a1cd1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test246.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test246 {
-	public void foo() {
-		for (int i= 0; i < 10; i++) {
-			/*]*/foo();/*[*/
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test247.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test247.java
deleted file mode 100644
index 4d5b6aa..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test247.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test247 {
-	public void foo() {
-		for (int i= 10; i < 10; i++)/*[*/
-			for (int z= 10; z < 10; z++)
-				foo();
-		/*]*/foo();	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test248.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test248.java
deleted file mode 100644
index 5509aa2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test248.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test248 {
-	public void foo() {
-		for (int i= 0; i < 10; i++)
-			foo();
-			
-		/*]*/foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test249.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test249.java
deleted file mode 100644
index 9315dc8..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test249.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test249 {
-	public void foo() {
-		/*]*/foo();/*[*/
-		
-		for (int i= 0; i < 10; i++)
-			foo();	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test250.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test250.java
deleted file mode 100644
index 18755cd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test250.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test250 {
-	public void foo() {
-		while(1 < 10)/*[*/
-			foo();
-	/*]*/}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test251.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test251.java
deleted file mode 100644
index c82df32..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test251.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package validSelection;
-
-public class A_test251 {
-	public void foo() {
-		/*]*/while(1 < 10)
-			foo()/*]*/;
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test252.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test252.java
deleted file mode 100644
index 7358876..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test252.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test252 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())
-			while(b())/*[*/
-				foo();
-		/*]*/foo();		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test253.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test253.java
deleted file mode 100644
index dffc377..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test253.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test253 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())
-			/*]*/while(b())
-				foo();
-		/*]*/foo();		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test254.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test254.java
deleted file mode 100644
index 5eb1cc7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test254.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test254 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		while(b())
-			foo();
-			
-		/*]*/foo();/*[*/		
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test255.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test255.java
deleted file mode 100644
index af3ef80..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test255.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test255 {
-	public boolean b() {
-		return true;
-	}
-	
-	public void foo() {
-		/*]*/foo();/*[*/
-		
-		while(b())
-			foo();	
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test260.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test260.java
deleted file mode 100644
index 31a00b7..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test260.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test260 {
-	public void foo() {
-		/*]*/do
-			foo();
-		while(1 < 10);/*[*/	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test261.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test261.java
deleted file mode 100644
index 1ce96b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test261.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package validSelection;
-
-public class A_test261 {
-	public void foo() {
-		do /*[*/
-			foo();
-		/*]*/while(1 < 10);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test262.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test262.java
deleted file mode 100644
index d6942a3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test262.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test262 {
-	public boolean fBoolean;
-	public void foo() {
-		do 
-			foo();
-		while(fBoolean);
-		
-		/*]*/foo()/*[*/;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test263.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test263.java
deleted file mode 100644
index b628328..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test263.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test263 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/foo()/*[*/;
-		
-		do 
-			foo();
-		while(fBoolean);		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test270.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test270.java
deleted file mode 100644
index f9446bb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test270.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test270 {
-	public void foo() {
-		/*]*/switch(1) {
-			case 1:
-				foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test271.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test271.java
deleted file mode 100644
index d99c995..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test271.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test271 {
-	public void foo() {
-		switch(1) {
-			case 1:/*[*/
-				foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test272.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test272.java
deleted file mode 100644
index 0648fc5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test272.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test272 {
-	public void foo() {
-		switch(1) {
-			case 1:
-				foo();
-				/*]*/foo()/*[*/;
-				foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test273.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test273.java
deleted file mode 100644
index 191695b..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test273.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test273 {
-	public void foo() {
-		switch(1) {
-			case 1:/*[*/
-				foo();
-			/*]*/case 2:
-				foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test274.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test274.java
deleted file mode 100644
index 93749cf..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test274.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test274 {
-	public void foo() {
-		switch(1) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-		}
-		
-		/*]*/foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test275.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test275.java
deleted file mode 100644
index 3e5c359..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test275.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test275 {
-	public void foo() {
-		/*]*/foo();/*[*/
-		
-		switch(1) {
-			case 1:
-				foo();
-			case 2:
-				foo();
-		}		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test280.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test280.java
deleted file mode 100644
index 33d1996..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test280.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test280 {
-	public boolean fBoolean;
-	public void foo() {
-		/*]*/if (fBoolean)
-			foo();
-		else
-			foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test281.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test281.java
deleted file mode 100644
index 7048e9e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test281.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test281 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			/*]*/foo()/*[*/;
-		else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test282.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test282.java
deleted file mode 100644
index 4bd8856..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test282.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test282 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)/*[*/
-			foo();
-		/*]*/else
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test283.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test283.java
deleted file mode 100644
index 262306e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test283.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test283 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean) {
-		} else {
-			/*]*/foo();/*[*/
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test284.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test284.java
deleted file mode 100644
index ac651a6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test284.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test284 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			foo();
-			
-		if (fBoolean) {
-		} else {
-			/*]*/foo();/*[*/
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test285.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test285.java
deleted file mode 100644
index 43fa03e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test285.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package validSelection;
-
-public class A_test285 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			/*[*/foo();/*]*/
-			
-		if (fBoolean) {
-		} else {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test286.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test286.java
deleted file mode 100644
index 8de156e..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test286.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test286 {
-	public boolean fBoolean;
-	public void foo() {
-		/*[*/foo();/*]*/	
-		if (fBoolean)
-			foo();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test287.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test287.java
deleted file mode 100644
index bc5a019..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test287.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package validSelection;
-
-public class A_test287 {
-	public boolean fBoolean;
-	public void foo() {
-		if (fBoolean)
-			foo();
-		/*[*/foo();/*]*/	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test300.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test300.java
deleted file mode 100644
index e95eda5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test300.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test300 {
-	public void foo() {
-		try {/*[*/
-			foo();
-		/*]*/} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test301.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test301.java
deleted file mode 100644
index 84b93a6..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test301.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test301 {
-	public void foo() {
-		try {
-			/*]*/foo()/*[*/;
-		} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test302.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test302.java
deleted file mode 100644
index 5e0f55f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test302.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test302 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test303.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test303.java
deleted file mode 100644
index 003b7b5..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test303.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test303 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			/*]*/foo()/*[*/;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test304.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test304.java
deleted file mode 100644
index 23cc5fb..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test304.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package validSelection;
-
-public class A_test304 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		} catch (Throwable t) {
-			/*]*/foo();/*[*/
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test305.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test305.java
deleted file mode 100644
index aa531b2..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test305.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package validSelection;
-
-public class A_test305 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			/*]*/foo();/*[*/
-		} catch (Throwable t) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test306.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test306.java
deleted file mode 100644
index 45338ad..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test306.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package validSelection;
-
-public class A_test306 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		} catch (Error e) {
-			/*]*/foo();/*[*/
-		} catch (Throwable t) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test307.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test307.java
deleted file mode 100644
index 141a152..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test307.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test307 {
-	public void foo() {
-		try {
-			foo();
-		} finally {/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test308.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test308.java
deleted file mode 100644
index 5e598b3..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test308.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package validSelection;
-
-public class A_test308 {
-	public void foo() {
-		try {
-			foo();
-		} finally {/*[*/
-			foo();
-		/*]*/}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test309.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test309.java
deleted file mode 100644
index f0dc5b0..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test309.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package validSelection;
-
-public class A_test309 {
-	public void foo() {
-		/*]*/try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		} finally {
-			foo();
-		}/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test310.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test310.java
deleted file mode 100644
index cf121db..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test310.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test310 {
-	public void foo() {
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		}
-		/*]*/foo();/*[*/
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test311.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test311.java
deleted file mode 100644
index 2a0c75c..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test311.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package validSelection;
-
-public class A_test311 {
-	public void foo() {
-		/*]*/foo();/*[*/
-		try {
-			foo();
-		} catch (Exception e) {
-			foo();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test350.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test350.java
deleted file mode 100644
index 69940c1..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test350.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test351.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test351.java
deleted file mode 100644
index 758accd..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test351.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test352.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test352.java
deleted file mode 100644
index acfd893..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test352.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test353.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test353.java
deleted file mode 100644
index f92ec2f..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_test353.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_testx.java b/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_testx.java
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/SelectionAnalyzerWorkSpace/SelectionAnalyzerTests/validSelection/A_testx.java
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/templates/test/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/templates/test/in/A.java
deleted file mode 100644
index b23b2d9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/templates/test/in/A.java
+++ /dev/null
@@ -1 +0,0 @@
-package p;
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/templates/test/out/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/templates/test/out/A.java
deleted file mode 100644
index b23b2d9..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/templates/test/out/A.java
+++ /dev/null
@@ -1 +0,0 @@
-package p;
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/templates/testFail/in/A.java b/org.eclipse.jdt.ui.tests.refactoring/resources/templates/testFail/in/A.java
deleted file mode 100644
index ff4381d..0000000
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/templates/testFail/in/A.java
+++ /dev/null
@@ -1 +0,0 @@
-package p;
diff --git a/org.eclipse.jdt.ui.vcm/exportplugin.xml b/org.eclipse.jdt.ui.vcm/exportplugin.xml
new file mode 100644
index 0000000..c53bd33
--- /dev/null
+++ b/org.eclipse.jdt.ui.vcm/exportplugin.xml
@@ -0,0 +1,25 @@
+<!-- build script to create a plugin from org.eclipse.jdt.ui.vcm -->
+<project name="org.eclipse.jdt.ui.vcm" default="export" basedir=".">
+	<target name="init">
+		<tstamp/>
+		<property name="destdir" value="../../plugin-export" />
+		<property name="plugin"  value="org.eclipse.jdt.ui.vcm" />
+		<property name="dest"  value="${destdir}/${plugin}" />
+	</target>
+
+	<target name="build" depends="init">
+    	<incremental project="${plugin}" kind="incr"/>
+	</target>
+
+	<target name="export" depends="build">
+		<mkdir dir="${destdir}" />
+		<delete dir="${dest}" />
+		<mkdir dir="${dest}" />
+		<jar 
+			jarfile="${dest}/jdtvcm.jar"
+			basedir="bin"
+		/>
+		<copy file="plugin.xml" todir="${dest}"/>
+		<copy file="plugin.properties" todir="${dest}"/>
+	</target>
+</project>
diff --git a/org.eclipse.jdt.ui.vcm/plugin.jars b/org.eclipse.jdt.ui.vcm/plugin.jars
new file mode 100644
index 0000000..35a59ba
--- /dev/null
+++ b/org.eclipse.jdt.ui.vcm/plugin.jars
@@ -0,0 +1,2 @@
+jdtvcm.jar=\
+	Eclipse Java UI VCM
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/ASTParentTrackingAdapter.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/ASTParentTrackingAdapter.java
new file mode 100644
index 0000000..4804d9f
--- /dev/null
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/ASTParentTrackingAdapter.java
Binary files differ
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/IParentTracker.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/IParentTracker.java
new file mode 100644
index 0000000..86864de
--- /dev/null
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/IParentTracker.java
Binary files differ
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/tagging/IPreactivatedRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/tagging/IPreactivatedRefactoring.java
new file mode 100644
index 0000000..f33c973
--- /dev/null
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/tagging/IPreactivatedRefactoring.java
Binary files differ
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/util/ASTs.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/util/ASTs.java
new file mode 100644
index 0000000..9a15450
--- /dev/null
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/core/refactoring/util/ASTs.java
@@ -0,0 +1,50 @@
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+package org.eclipse.jdt.internal.core.refactoring.util;
+
+import org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration;
+import org.eclipse.jdt.internal.compiler.ast.AbstractVariableDeclaration;
+import org.eclipse.jdt.internal.compiler.ast.AstNode;
+import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration;
+
+/**
+ * Utility class for Abstract syntax tree handling.
+ */
+public class ASTs {
+	
+	//no instances
+	private ASTs(){
+	}
+	
+	/**
+	 * Returns the source start of a node independent whether it is a declaration or
+	 * not.
+	 */
+	public static int getSourceStart(AstNode node) {
+		if (node instanceof AbstractVariableDeclaration)
+			return ((AbstractVariableDeclaration)node).declarationSourceStart;
+		if (node instanceof TypeDeclaration)
+			return ((TypeDeclaration)node).declarationSourceStart;
+		if (node instanceof AbstractMethodDeclaration)
+			return ((AbstractMethodDeclaration)node).declarationSourceStart;
+			
+		return node.sourceStart;
+	}
+	
+	/**
+	 * Returns the source end of a node independent whether it is a declaration or
+	 * not.
+	 */
+	public static int getSourceEnd(AstNode node) {
+		if (node instanceof AbstractVariableDeclaration)
+			return ((AbstractVariableDeclaration)node).declarationSourceEnd;
+		if (node instanceof TypeDeclaration)
+			return ((TypeDeclaration)node).declarationSourceEnd;
+		if (node instanceof AbstractMethodDeclaration)
+			return ((AbstractMethodDeclaration)node).declarationSourceEnd;
+			
+		return node.sourceEnd;
+	}	
+}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui/exportplugin.xml b/org.eclipse.jdt.ui/exportplugin.xml
new file mode 100644
index 0000000..268c81c
--- /dev/null
+++ b/org.eclipse.jdt.ui/exportplugin.xml
@@ -0,0 +1,48 @@
+<!-- build script to create a plugin from org.eclipse.jdt.ui -->
+<project name="org.eclipse.jdt.ui" default="export" basedir=".">
+	<target name="init">
+		<tstamp/>
+		<property name="destdir" value="../../plugin-export" />
+		<property name="plugin"  value="org.eclipse.jdt.ui" />
+		<property name="dest"  value="${destdir}/${plugin}" />
+	</target>
+
+	<target name="build" depends="init">
+    	<incremental project="${plugin}" kind="incr"/>
+	</target>
+
+	<target name="export" depends="build">
+		<mkdir dir="${destdir}" />
+		<delete dir="${dest}" />
+		<mkdir dir="${dest}" />
+		<jar 
+			jarfile="${dest}/jdt.jar"
+			basedir="bin"
+		/>
+		<copy file="plugin.xml" todir="${dest}"/>
+		<copy file="plugin.properties" todir="${dest}"/>
+		<copy file="plugin.jars" todir="${dest}"/>
+		<copy file="snippetsupport.jar" todir="${dest}"/>
+		<copy todir="${dest}/icons">
+			<fileset dir="icons" />
+		</copy>
+		<mkdir dir="TMP" />
+		<copy todir="TMP">
+			<fileset dir="Eclipse Java UI" />
+		</copy>
+		<copy todir="TMP">
+			<fileset dir="Eclipse Java Core Refactoring" />
+		</copy>
+		<copy todir="TMP">
+			<fileset dir="Eclipse Java UI Debug" />
+		</copy>
+		<copy todir="TMP">
+			<fileset dir="Eclipse Java UI Refactoring" />
+		</copy>
+		<zip 
+			zipfile="${dest}/jdtsrc.zip"
+			basedir="TMP"
+		/>
+		<delete dir="TMP"/>
+	</target>
+</project>
diff --git a/org.eclipse.jdt.ui/icons/basic/obj16/prifield_obj.gif b/org.eclipse.jdt.ui/icons/basic/obj16/prifield_obj.gif
new file mode 100644
index 0000000..015d8c4
--- /dev/null
+++ b/org.eclipse.jdt.ui/icons/basic/obj16/prifield_obj.gif
Binary files differ
diff --git a/org.eclipse.jdt.ui/icons/full/obj16/prifield_obj.gif b/org.eclipse.jdt.ui/icons/full/obj16/prifield_obj.gif
new file mode 100644
index 0000000..6755c24
--- /dev/null
+++ b/org.eclipse.jdt.ui/icons/full/obj16/prifield_obj.gif
Binary files differ
diff --git a/org.eclipse.jdt.ui/plugin.jars b/org.eclipse.jdt.ui/plugin.jars
new file mode 100644
index 0000000..cb3bba2
--- /dev/null
+++ b/org.eclipse.jdt.ui/plugin.jars
@@ -0,0 +1,5 @@
+jdt.jar=\
+	Eclipse Java UI,\
+	Eclipse Java UI Debug,\
+	Eclipse Java Core Refactoring,\
+	Eclipse Java UI Refactoring
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/launcher/EditVMDialog.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/launcher/EditVMDialog.java
new file mode 100644
index 0000000..c1f1ceb
--- /dev/null
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/launcher/EditVMDialog.java
Binary files differ
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/SelectionProviderMediator.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/SelectionProviderMediator.java
new file mode 100644
index 0000000..d0ae4a1
--- /dev/null
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/SelectionProviderMediator.java
@@ -0,0 +1,147 @@
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+package org.eclipse.jdt.internal.ui.viewsupport;
+
+import java.util.ArrayList;
+
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Widget;
+
+import org.eclipse.jface.util.Assert;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.Viewer;
+
+
+public class SelectionProviderMediator implements ISelectionProvider {
+	
+	private Viewer[] fViewers;
+	private Listener fListener;
+	
+	private Viewer fViewerInFocus;
+	private ArrayList fSelectionChangedListeners;
+	
+	public SelectionProviderMediator(Viewer[] viewers) {
+		fViewers= viewers;
+		fListener= new Listener();
+		installListeners();
+		
+		fSelectionChangedListeners= null;
+		fViewerInFocus= null;
+	}
+	
+	private void installListeners() {		
+		for (int i= 0; i < fViewers.length; i++) {
+			Viewer viewer= fViewers[i];
+			viewer.addSelectionChangedListener(fListener);
+			Control control= viewer.getControl();
+			Assert.isNotNull(control);
+			control.addFocusListener(fListener);	
+		}
+	}
+	
+	/**
+	 * @see ISelectionProvider#addSelectionChangedListener
+	 */
+	 
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+		if (fSelectionChangedListeners == null)
+			fSelectionChangedListeners= new ArrayList(4);
+		
+		if (!fSelectionChangedListeners.contains(listener))
+			fSelectionChangedListeners.add(listener);
+	}
+	
+	/**
+	 * @see ISelectionProvider#removeSelectionChangedListener
+	 */
+	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+		if (fSelectionChangedListeners != null)
+			fSelectionChangedListeners.remove(listener);
+	}	
+		
+	/**
+	 * @see ISelectionProvider#getSelection
+	 */
+	public ISelection getSelection() {
+		if (fViewerInFocus != null) {
+			return fViewerInFocus.getSelection();
+		} else {
+			return StructuredSelection.EMPTY;
+		}
+	}
+	
+	/**
+	 * @see ISelectionProvider#setSelection
+	 */
+	public void setSelection(ISelection selection) {
+		if (fViewerInFocus != null) {
+			fViewerInFocus.setSelection(selection);
+		}
+	}	
+	
+	private void fireSelectionChanged() {
+		if (fSelectionChangedListeners != null) {
+			SelectionChangedEvent event= new SelectionChangedEvent(this, getSelection());
+			
+			for (int i= 0; i < fSelectionChangedListeners.size(); i++) {
+				ISelectionChangedListener listener= (ISelectionChangedListener)fSelectionChangedListeners.get(i);
+				listener.selectionChanged(event);
+			}
+		}
+	}
+	
+	private void focusChanged(Viewer viewer) {
+		if (viewer != fViewerInFocus) {
+			fViewerInFocus= viewer;
+			fireSelectionChanged();
+		}
+	}
+	
+	private class Listener implements ISelectionChangedListener, FocusListener {
+		
+		/**
+	 	 * @see ISelectionChangedListener#selectionChanged
+	 	 */		
+		public void selectionChanged(SelectionChangedEvent event) {
+			ISelectionProvider provider= event.getSelectionProvider();
+			if (provider == fViewerInFocus) {
+				fireSelectionChanged();
+			}
+		}
+		
+	    /**
+	     * @see FocusListener#focusGained
+	     */
+	    public void focusGained(FocusEvent e) {    	
+	    	Widget control= e.widget;
+	    	for (int i= 0; i < fViewers.length; i++) {
+	    		if (fViewers[i].getControl() == control) {
+	    			focusChanged(fViewers[i]);
+	    			return;
+	    		}
+	    	}
+	    }
+	
+	    /**
+	     * @see FocusListener#focusLost
+	     */
+	    public void focusLost(FocusEvent e) {
+	    	focusChanged(null);
+	    }		
+		
+		
+	}
+		
+		
+	
+
+}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/widgets/MessageLine.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/widgets/MessageLine.java
new file mode 100644
index 0000000..351a562
--- /dev/null
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/widgets/MessageLine.java
@@ -0,0 +1,135 @@
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+package org.eclipse.jdt.internal.ui.widgets;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CLabel;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * A message line. It distinguishs between "normal" messages and errors. 
+ * Setting an error message hides a currently displayed message until 
+ * <code>clearErrorMessage</code> is called.
+ */
+public class MessageLine extends CLabel {
+
+	private String fMessageText;
+	private String fErrorText;
+
+	private Color fDefaultColor;
+	private RGB fErrorRGB;
+	private Color fErrorColor;
+
+	private static RGB fgErrorRGB= new RGB(200, 0, 0);
+
+	/**
+	 * Creates a new message line as a child of the given parent.
+	 * Error message will be shown with in the rgb color 200,0,0.
+	 */
+	public MessageLine(Composite parent) {
+		this(parent, SWT.LEFT);
+	}
+
+	/**
+	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
+	 * Error message will be shown with in the rgb color 200,0,0.
+	 */
+	public MessageLine(Composite parent, int style) {
+		super(parent, style);
+		fDefaultColor= getForeground();
+		fErrorRGB= fgErrorRGB;
+	}
+
+	/**
+	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
+	 * Error message will be shown with in the given rgb color.
+	 */
+	public MessageLine(Composite parent, int style, RGB errorRGB) {
+		super(parent, style);
+		fDefaultColor= getForeground();
+		fErrorRGB= errorRGB;
+	}
+
+	/**
+	 * Clears the currently displayed error message and redisplayes
+	 * the message which was active before the error message was set.
+	 */
+	public void clearErrorMessage() {
+		setErrorMessage(null);
+	}
+
+	/**
+	 * Clears the currently displayed message.
+	 */
+	public void clearMessage() {
+		setMessage(null);
+	}
+
+	/**
+	 * Get the currently displayed error text.
+	 * @return The error message. If no error message is displayed <code>null</code> is returned.
+	 */
+	public String getErrorMessage() {
+		return fErrorText;
+	}
+
+	/**
+	 * Get the currently displayed message.
+	 * @return The message. If no message is displayed <code>null<code> is returned.
+	 */
+	public String getMessage() {
+		return fMessageText;
+	}
+
+	/**
+	 * Sets the default error color used by all message lines.
+	 * Note: a call to this method only affects newly created MessageLines not existing ones. 
+	 */
+	public static void setErrorColor(RGB color) {
+		fgErrorRGB= color;
+	}
+
+	/**
+	     * Display the given error message. A currently displayed message
+	     * is saved and will be redisplayed when the error message is cleared.
+	     */
+	public void setErrorMessage(String message) {
+		fErrorText= message;
+
+		if (message == null) {
+			setMessage(fMessageText);
+		} else {
+			if (fErrorColor == null) {
+				fErrorColor= new Color(getDisplay(), fErrorRGB);
+				addDisposeListener(new DisposeListener() {
+					public void widgetDisposed(DisposeEvent e) {
+						fErrorColor.dispose();
+					}
+				});
+			}
+			setForeground(fErrorColor);
+			setText(message);
+		}
+	}
+
+	/**
+	     * Set the message text. If the message line currently displays an error,
+	     * the message is stored and will be shown after a call to clearErrorMessage
+	     */
+	public void setMessage(String message) {
+		fMessageText= message;
+		if (message == null)
+			message= ""; //$NON-NLS-1$
+		if (fErrorText == null) {
+			setForeground(fDefaultColor);
+			setText(message);
+		}
+	}
+
+}
\ No newline at end of file
